В этом примере вы научитесь находить сумму натуральных чисел с помощью рекурсивной функции.
Чтобы понять этот пример, вы должны знать следующие темы программирования на C:
- C Пользовательские функции
- C Рекурсия
Положительные числа 1, 2, 3… известны как натуральные числа. Программа ниже принимает положительное целое число от пользователя и вычисляет сумму до данного числа.
Посетите эту страницу, чтобы найти сумму натуральных чисел с помощью цикла.
Сумма натуральных чисел с использованием рекурсии
#include int addNumbers(int n); int main() ( int num; printf("Enter a positive integer: "); scanf("%d", &num); printf("Sum = %d", addNumbers(num)); return 0; ) int addNumbers(int n) ( if (n != 0) return n + addNumbers(n - 1); else return n; )
Вывод
Введите положительное целое число: 20 Sum = 210.
Предположим, пользователь ввел 20.
Первоначально addNumbers()
вызывается из main()
аргумента 20.
Число 20 добавляется к результату addNumbers(19)
.
В следующем вызове функции от addNumbers()
до addNumbers()
передается 19, которое добавляется к результату addNumbers(18)
. Этот процесс продолжается до тех пор, пока n не станет равным 0.
Когда n равно 0, рекурсивный вызов отсутствует. Это возвращает в main()
функцию сумму целых чисел .