Задача. Даны натуральное число $n$, действительные числа [latex]a_{1}, \ldots, a_{n}[/latex]. Вычислить: [latex]a^{2}_{1} + \ldots + a^{2}_{n}[/latex].
Входные данные
$n$ — количество элементов последовательности ($n > 0$). $a$ — значение элемента, прочитанного из входного потока
Выходные данные
$sum$ — переменная для хранения суммы последовательности
Тесты
$n$ | $a$ | $sum$ |
---|---|---|
2 | 5, 8 | 89 |
3 | 6, 13, 4 | 221 |
7 | 2, 4, 8, 16, 32, 64, 128 | 21844 |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
class Main { static function main() { var n, a, sum = 0; n = Std.parseInt(Sys.stdin().readLine()); while (n != 0) { a = Std.parseInt(Sys.stdin().readLine()); sum += a * a; n--; } Sys.stdout().writeString(Std.string(sum)); } } |
Решение
Из входного потока считывается число $n$ — кол-во элементов последовательности. Затем начинается цикл с условием «пока $n$ не равно нулю». Из входного потока считывается следующий элемент. К переменной $sum$ суммируются вычисления $a * a$, после чего декрементируется $n$. В выходной поток подаётся значение переменной $sum$.
Анастасия Улановская недавно публиковал (посмотреть все)
- e-olymp 2162. Палиндром - 06.06.2017
- 2.1.2 Переполнение - 04.06.2017
- e-olymp 2163. Сообразим на троих! - 13.05.2017
— Вы пишите, что sum — сумма последовательности. Это не так. Исправьте, пожалуйста.
— Если в условии указано, что задается целое положительное число, то в чём смысл проверки на положительность? Вы не доверяете автору задачи? Тогда нужно проверять, вдруг это не целое число. Вдруг это вообще не число. Вдруг входной поток вообще пуст. Конечно, так никто не делает. Т.е. ситуации бывают, но тогда это обозначается в условии. Например, просят вбросить исключительную ситуацию после анализа входных данных. Возможно вы опасались, что программа зациклится при вводе отрицательного значения из-за цикла while c декрементом n? Тогда это стоит описать. Хотя такой подход методически неверен. Если n число элементов, то это константа и нечего его трогать.
— «В выходной поток подаётся переменная sum». Строго говоря только её значение.
Откорректировала текст и убрала лишнюю проверку
Да. Так лучше.
Теперь, пожалуйста, сделайте соответствующие изменения описания решения.
Настя, Вам действительно нужно привлекать меня для обнаружения таких очевидных вещей? Может стоит самой прочесть все пять строк своего пояснения перед отправкой на проверку? Это ведь всего несколько секунд.
Ошибаюсь по невнимательности, уже исправила
Зачтено