Program w C ++ do obliczania silni liczby przy użyciu rekursji

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.

Interesujące artykuły...