В данном уроке для начинающих программистов рассмотрим вычисление суммы квадратов первых N натуральных чисел. Будет приведено два способа решение данной задачи.
Задача поиска суммы квадратов чисел — это классический пример упражнения для закрепления школьниками или студентами раздела программирования Циклы.
Условие задачи: Найти сумму квадратов первых N натуральных чисел.
Рассмотрим два различных способа (алгоритма) решения.
Вычисление суммы квадратов чисел с использованием операции умножения
Первый и самый очевидный способ решения — суммирование в отдельную переменную квадратов числа i в цикле от i = 1 до N.
Приведем алгоритм вычисления суммы квадратов первых N натуральных чисел на псевдокоде:
1 2 3 4 5 6 7 8 9 |
begin sum := 0; for i := 1 to n do begin j := i * i; sum := sum + j; end Вывод sum; end |
Поясним код. Сначала объявляется переменная sum = 0 (строка 2) — в неё мы будем суммировать вычисленные квадраты натурального числа i. Затем в цикле for от 1 до N (строки 3-7) производится вычисление квадрата числа i и сохранение вычисленного результата в переменную j (строка 5), а после j прибавляется к sum (строка 6). В конце, когда все итерации цикла for будут выполнены — вычисление суммы будет завершено. Результат можно вывести на экран (строка 8) или сохранить для дальнейшего использования.
Ниже представлена реализация алгоритма, написанного на псевдокоде. Данный код вы можете использовать при программировании на языках C (Си), C++, C#, Java. Всё будет работать.
1 2 3 4 5 6 7 8 |
int n = 3; int sum = 0; for (int i = 1; i <= n; i++) { int j = i * i; sum = sum + j; } |
Шестую и седьмую строчки можно заменить одним эквивалентным, более компактным и удобным оператором:
1 |
sum += i * i; |
Используя его, мы также избавляемся от необходимости объявления дополнительной переменной j.
Вычисление суммы квадратов чисел без использования операции умножения
Второй способ поиска суммы квадратов первых N натуральных чисел довольно своеобразен: он более громоздкий, чем первый, но зато имеет свою особенность.
В процессе вычисления квадратов чисел и их суммы не используется операция умножения! Код второго способа представлен ниже:
1 2 3 4 5 6 7 8 9 10 11 |
int n = 3; int k = 1; int l = 0; int sum = 0; while (k < (n + n)) { l = l + k; sum = sum + l; k = k + 2; } |
Спасибо за прочтение статьи!
Поделиться в соц. сетях: