Exemplu pentru a găsi factorialul unui număr întreg non-negativ (introdus de utilizator) folosind recursivitate.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:
- Funcții C ++
- Tipuri de funcții definite de utilizator în C ++
- C ++ dacă, dacă … altfel și cuibărit dacă … altfel
- C ++ Recursivitate
Acest program ia un număr întreg pozitiv de la utilizator și calculează factorialul acelui număr. Să presupunem că utilizatorul introduce 6 atunci,
Factorialul va fi egal cu 1 * 2 * 3 * 4 * 5 * 6 = 720
Veți învăța să găsiți factorialul unui număr folosind o funcție recursivă în acest exemplu.
Accesați această pagină pentru a afla cum puteți utiliza bucle pentru a calcula factorial.
Exemplu: Calculați factorii utilizând recursivitatea
#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; )
Ieșire
Introduceți un număr întreg pozitiv: 6 Factorial de 6 = 720
În programul de mai sus, să presupunem că utilizatorul introduce un număr 6. Numărul este trecut la factorial()
funcție.
În această funcție, 6 se înmulțește cu factorialul de (6 - 1 = 5). Pentru aceasta, numărul 5 este trecut din nou la factorial()
funcție.
La fel în următoarea iterație, 5 se înmulțește cu factorialul de (5 - 1 = 4). Și, 4 este trecut la factorial()
funcție.
Aceasta continuă până când valoarea ajunge la 1 și funcția returnează 1.
Acum, fiecare funcție returnează valoarea înapoi pentru a calcula 1 * 2 * 3 * 4 * 5 * 6 = 720, care este returnată main()
funcției.