Esimerkki ei-negatiivisen kokonaisluvun (käyttäjän syöttämän) faktorin löytämisestä rekursiota käyttämällä.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C ++ -ohjelmointiaiheista:
- C ++ -toiminnot
- Käyttäjän määrittelemien toimintojen tyypit C ++: ssa
- C ++ jos, jos… muu ja sisäkkäinen, jos … muuten
- C ++ Rekursio
Tämä ohjelma ottaa käyttäjältä positiivisen kokonaisluvun ja laskee kyseisen luvun kertoimen. Oletetaan, että käyttäjä syöttää 6,
Kerroin on yhtä suuri kuin 1 * 2 * 3 * 4 * 5 * 6 = 720
Opit etsimään luvun faktoria rekursiivisen funktion avulla tässä esimerkissä.
Käy tällä sivulla oppiaksesi, kuinka voit käyttää silmukoita laskettaessa kerroin.
Esimerkki: Laske kerroin rekursiolla
#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; )
Tuotos
Syötä positiivinen kokonaisluku: 6 Kerroin 6 = 720
Oletetaan, että käyttäjä syöttää yllä olevassa ohjelmassa numeron 6. Numero välitetään factorial()
toiminnolle.
Tässä funktiossa 6 kerrotaan kertoimella (6 - 1 = 5). Tätä varten numero 5 välitetään uudelleen factorial()
funktiolle.
Samoin seuraavassa iteraatiossa 5 kerrotaan kertoimella (5 - 1 = 4). Ja 4 siirretään factorial()
funktiolle.
Tämä jatkuu, kunnes arvo saavuttaa arvon 1 ja funktio palauttaa arvon 1.
Kukin funktio palauttaa arvon takaisin laskemaan 1 * 2 * 3 * 4 * 5 * 6 = 720, joka palautetaan main()
funktioon.