Piemērs, lai atrastu negatīva vesela skaitļa faktoru (kuru ievadījis lietotājs), izmantojot rekursiju.
Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:
- C ++ funkcijas
- Lietotāja definēto funkciju veidi C ++
- C ++, ja, ja … cits, un Nested, ja … cits
- C ++ rekursija
Šī programma ņem no lietotāja pozitīvu veselu skaitli un aprēķina šī skaitļa faktoriālu. Pieņemsim, ka lietotājs ievadīs 6,
Faktoriālais koeficients būs vienāds ar 1 * 2 * 3 * 4 * 5 * 6 = 720
Jūs iemācīsities atrast skaitļa faktorialu, izmantojot šajā piemērā esošo rekursīvo funkciju.
Apmeklējiet šo lapu, lai uzzinātu, kā jūs varat izmantot cilpas, lai aprēķinātu faktoriālo.
Piemērs: aprēķiniet faktori, izmantojot rekursiju
#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; )
Rezultāts
Ievadiet pozitīvu veselu skaitli: 6 koeficients 6 = 720
Pieņemsim, ka iepriekšējā programmā lietotājs ievada skaitli 6. Numurs tiek nodots factorial()
funkcijai.
Šajā funkcijā 6 reizina ar koeficientu (6 - 1 = 5). Šim nolūkam skaitlis 5 atkal tiek nodots factorial()
funkcijai.
Tāpat arī nākamajā atkārtojumā 5 reizina ar koeficientu (5 - 1 = 4). factorial()
Funkcijai tiek nodoti 4 .
Tas turpinās, līdz vērtība sasniedz 1 un funkcija atgriež 1.
Tagad katra funkcija atgriež vērtību, lai aprēķinātu 1 * 2 * 3 * 4 * 5 * 6 = 720, kas tiek atgriezta main()
funkcijā.