Voorbeeld om faculteit van een niet-negatief geheel getal (ingevoerd door de gebruiker) te vinden met behulp van recursie.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C ++ programmeeronderwerpen:
- C ++ Functies
- Typen door de gebruiker gedefinieerde functies in C ++
- C ++ if, if… else en genest if… else
- C ++ recursie
Dit programma neemt een positief geheel getal van de gebruiker en berekent de faculteit van dat getal. Stel dat de gebruiker 6 invoert,
Factorial is gelijk aan 1 * 2 * 3 * 4 * 5 * 6 = 720
In dit voorbeeld leer je de faculteit van een getal te vinden met behulp van een recursieve functie.
Bezoek deze pagina om te leren hoe u lussen kunt gebruiken om faculteiten te berekenen.
Voorbeeld: Factorial berekenen met behulp van recursie
#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; )
Uitvoer
Voer een positief geheel getal in: 6 Factorieel van 6 = 720
Stel dat de gebruiker in het bovenstaande programma een nummer 6 invoert. Het nummer wordt doorgegeven aan de factorial()
functie.
In deze functie wordt 6 vermenigvuldigd met de faculteit van (6 - 1 = 5). Hiervoor wordt het cijfer 5 weer doorgegeven aan de factorial()
functie.
Evenzo wordt in de volgende iteratie 5 vermenigvuldigd met de faculteit van (5 - 1 = 4). En 4 wordt doorgegeven aan de factorial()
functie.
Dit gaat door totdat de waarde 1 bereikt en de functie 1 retourneert.
Nu retourneert elke functie de waarde terug om 1 * 2 * 3 * 4 * 5 * 6 = 720 te berekenen, die naar de main()
functie wordt geretourneerd .