Przykład znalezienia sumy liczb naturalnych przy użyciu funkcji rekurencyjnej.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:
- Funkcje C ++
- Typy funkcji zdefiniowanych przez użytkownika w C ++
- C ++ if, if… else i Nested if… else
- Rekursja w C ++
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.
Możesz również znaleźć sumę liczb naturalnych za pomocą pętli. Jednak tutaj nauczysz się rozwiązywać ten problem za pomocą rekurencji
Przykład: Oblicz sumę liczb naturalnych za pomocą rekursji
#include using namespace std; int add(int n); int main() ( int n; cout <> n; cout << "Sum = " << add(n); return 0; ) int add(int n) ( if(n != 0) return n + add(n - 1); return 0; )
Wynik
Wpisz dodatnią liczbę całkowitą: 10 Suma = 55
W programie tym numer wpisany przez użytkownika jest przekazywany do add()
funkcji.
Załóżmy, że użytkownik wprowadza 10. Teraz 10 jest przekazywane do add()
funkcji. Ta funkcja dodaje 10 do wyniku dodawania 9 (10 - 1 = 9).
Następnym razem do wyniku dodawania 8 (9 - 1 = 8) zostanie dodane 9. Trwa to do momentu, gdy liczba osiągnie 0, kiedy funkcja zwraca 0.
Teraz każda funkcja jest zwracana w celu obliczenia wyniku końcowego: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.