Сумма натуральных чисел

В этом примере посмотрим, как посчитать сумму натуральных чисел от 1 до num. Будем использовать связку if...else и цикл while.

Что нужно знать

Перед изучением примера полезно понимать:

Исходный код

# Sum of natural numbers up to num

num = 16

if num < 0:
   print("Enter a positive number")
else:
   sum = 0
   # use while loop to iterate until zero
   while(num > 0):
       sum += num
       num -= 1
   print("The sum is", sum)

Вывод

The sum is 136

Чтобы проверить программу на другом числе, достаточно поменять значение переменной num.

Сначала переменная sum обнуляется, а число запоминается в num. Затем цикл while выполняется до тех пор, пока num не станет равным нулю. На каждой итерации текущее значение num прибавляется к sum, а само num уменьшается на единицу.

Решение через формулу

Эту же задачу можно решить вообще без цикла — по известной формуле суммы арифметической прогрессии:

n*(n+1)/2

Например, при n = 16 сумма равна (16*17)/2 = 136.

Задание для себя: попробуйте переписать программу так, чтобы она находила сумму натуральных чисел по этой формуле.