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

Сумму первых n натуральных чисел можно посчитать не только циклом, но и рекурсивной функцией — той, что вызывает сама себя для меньшего значения. Это простой и наглядный пример рекурсии.

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

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

Пример. Рекурсивная функция

# Python program to find the sum of natural using recursive function

def recur_sum(n):
   if n <= 1:
       return n
   else:
       return n + recur_sum(n-1)

# change this value for a different result
num = 16

if num < 0:
   print("Enter a positive number")
else:
   print("The sum is",recur_sum(num))

Вывод

The sum is 136

Функция recur_sum() для значения n возвращает n + recur_sum(n - 1). Когда n становится меньше или равно 1, рекурсия останавливается — это базовый случай, и функция просто возвращает n. Таким образом, для num = 16 вычисляется сумма 1 + 2 + 3 + … + 16 = 136.

Примечание

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