Програма C за намиране на сумата от естествени числа с помощта на рекурсия

В този пример ще се научите да намирате сумата от естествени числа с помощта на рекурсивна функция.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на 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 Сума = 210 

Да предположим, че потребителят е въвел 20.

Първоначално addNumbers()се извиква от main()с 20, подадени като аргумент.

Числото 20 се добавя към резултата от addNumbers(19).

При следващото извикване на функция от addNumbers()до addNumbers()се предава 19, което се добавя към резултата от addNumbers(18). Този процес продължава, докато n е равно на 0.

Когато n е равно на 0, няма рекурсивно повикване. Това връща сумата от цели числа в крайна сметка към main()функцията.

Интересни статии...