Eksempel for at finde et faktuelt af et ikke-negativt heltal (indtastet af brugeren) ved hjælp af rekursion.
For at forstå dette eksempel skal du have kendskab til følgende C ++ programmeringsemner:
- C ++ funktioner
- Typer af brugerdefinerede funktioner i C ++
- C ++ hvis, hvis … ellers og Nestet hvis … ellers
- C ++ rekursion
Dette program tager et positivt heltal fra brugeren og beregner faktoren for dette nummer. Antag, bruger indtaster 6 derefter,
Faktor er lig med 1 * 2 * 3 * 4 * 5 * 6 = 720
Du lærer at finde det faktuelle af et tal ved hjælp af en rekursiv funktion i dette eksempel.
Besøg denne side for at lære, hvordan du kan bruge sløjfer til at beregne faktor.
Eksempel: Beregn faktor ved hjælp af rekursion
#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; )
Produktion
Indtast et positivt heltal: 6 Faktor 6 = 720
Antag i ovenstående program, at brugeren indtaster et nummer 6. Nummeret sendes til factorial()
funktionen.
I denne funktion multipliceres 6 med faktoren (6 - 1 = 5). Til dette overføres tallet 5 igen til factorial()
funktionen.
Ligeledes i den næste iteration multipliceres 5 med faktoriet af (5 - 1 = 4). Og 4 sendes til factorial()
funktionen.
Dette fortsætter, indtil værdien når 1, og funktionen returnerer 1.
Nu returnerer hver funktion værdien for at beregne 1 * 2 * 3 * 4 * 5 * 6 = 720, som returneres til main()
funktionen.