Przykład znalezienia silni nieujemnej liczby całkowitej (wprowadzonej przez użytkownika) przy użyciu rekurencji.
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 ++
Ten program pobiera dodatnią liczbę całkowitą od użytkownika i oblicza silnię tej liczby. Załóżmy, że użytkownik wprowadza wtedy 6,
Silnia będzie równa 1 * 2 * 3 * 4 * 5 * 6 = 720
W tym przykładzie nauczysz się znajdować silnię liczby za pomocą funkcji rekurencyjnej.
Odwiedź tę stronę, aby dowiedzieć się, jak używać pętli do obliczania silni.
Przykład: Oblicz silnię za pomocą rekursji
#include using namespace std; int factorial(int n); int main() ( int n; cout <> n; cout << "Factorial of " << n << " = " < 1) return n * factorial(n - 1); else return 1; )
Wynik
Wpisz dodatnią liczbę całkowitą: 6 Silnia 6 = 720
Załóżmy, że w powyższym programie użytkownik wprowadza liczbę 6. Liczba jest przekazywana do factorial()
funkcji.
W tej funkcji 6 jest mnożone przez silnię z (6 - 1 = 5). W tym celu liczba 5 jest ponownie przekazywana do factorial()
funkcji.
Podobnie w następnej iteracji, 5 jest mnożone do silni (5 - 1 = 4). A 4 jest przekazywane do factorial()
funkcji.
Trwa to do momentu, gdy wartość osiągnie 1, a funkcja zwróci 1.
Teraz każda funkcja zwraca wartość z powrotem do obliczenia 1 * 2 * 3 * 4 * 5 * 6 = 720, która jest zwracana do main()
funkcji.