Program w C do znajdowania sumy liczb naturalnych za pomocą rekursji

W tym przykładzie nauczysz się znajdować sumę liczb naturalnych za pomocą funkcji rekurencyjnej.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:

  • C Funkcje zdefiniowane przez użytkownika
  • C Rekursja

Liczby dodatnie 1, 2, 3… znane są jako liczby naturalne. Poniższy program pobiera od użytkownika dodatnią liczbę całkowitą i oblicza sumę do podanej liczby.

Odwiedź tę stronę, aby znaleźć sumę liczb naturalnych za pomocą pętli.

Suma liczb naturalnych z rekurencją

#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; ) 

Wynik

Wpisz dodatnią liczbę całkowitą: 20 Suma = 210 

Załóżmy, że użytkownik wprowadził 20.

Początkowo addNumbers()jest wywoływana from main()z 20 przekazanymi jako argument.

Liczba 20 jest dodawana do wyniku addNumbers(19).

W następnym wywołaniu funkcji od addNumbers()do addNumbers()przekazywana jest liczba 19, która jest dodawana do wyniku addNumbers(18). Ten proces trwa, aż n jest równe 0.

Gdy n jest równe 0, nie ma wywołania rekurencyjnego. To zwraca ostatecznie sumę liczb całkowitych do main()funkcji.

Interesujące artykuły...