Pavyzdys, kaip rasti negatyvaus sveiko skaičiaus, kurį įvedė vartotojas, faktorialą, naudojant rekursiją.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C ++ programavimo temas:
- C ++ funkcijos
- Vartotojo nustatytų funkcijų tipai C ++
- C ++, jei, jei… dar kitaip, ir įdėta, jei … kita
- C ++ rekursija
Ši programa paima iš vartotojo teigiamą sveikąjį skaičių ir apskaičiuoja to skaičiaus faktorialą. Tarkime, kad vartotojas įveda 6,
Faktorinis koeficientas bus lygus 1 * 2 * 3 * 4 * 5 * 6 = 720
Šiame pavyzdyje išmoksite rasti skaičiaus faktorialą naudodami rekursinę funkciją.
Apsilankykite šiame puslapyje, kad sužinotumėte, kaip galite naudoti kilpas apskaičiuodami faktorialą.
Pavyzdys: apskaičiuokite faktorių naudodami rekursiją
#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; )
Rezultatas
Įveskite teigiamą sveikąjį skaičių: 6 koeficientas 6 = 720
Tarkime, kad pirmiau pateiktoje programoje vartotojas įveda skaičių 6. Skaičius perduodamas factorial()
funkcijai.
Šioje funkcijoje 6 padauginamas iš koeficiento (6 - 1 = 5). Tam skaičius 5 vėl perduodamas factorial()
funkcijai.
Panašiai sekančioje iteracijoje 5 padauginamas iš koeficiento (5 - 1 = 4). 4 funkcijai perduodama factorial()
.
Tai tęsiasi tol, kol vertė pasiekia 1, o funkcija grąžina 1.
Dabar kiekviena funkcija grąžina reikšmę atgal apskaičiuoti 1 * 2 * 3 * 4 * 5 * 6 = 720, kuri grąžinama į main()
funkciją.