Сумма натуральных чисел через рекурсию
Сумму первых n натуральных чисел можно посчитать не только циклом, но и рекурсивной функцией — той, что вызывает сама себя для меньшего значения. Это простой и наглядный пример рекурсии.
Что нужно знать
Перед изучением примера полезно понимать:
Оператор if…else в Python — условный оператор
ifФункции в Python — функции
Рекурсия в Python — рекурсия
Пример. Рекурсивная функция
# 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.