C Program til at finde et faktorielt nummer ved hjælp af rekursion

I dette eksempel lærer du at finde faktoren for 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
  • C Brugerdefinerede funktioner
  • C Rekursion

Faktoriet for et positivt tal n er givet ved:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

Faktoren for et negativt tal findes ikke. Og det faktuelle 0er 1.

I dette eksempel lærer du at finde et faktors nummer ved hjælp af rekursion. Besøg denne side for at lære, hvordan du kan finde et nummer ved hjælp af en løkke.

Faktor for et tal ved hjælp af rekursion

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Produktion

Indtast et positivt heltal: 6 Faktor 6 = 720 

Antag at brugeren indtastede 6.

Oprindeligt multiplyNumbers()kaldes fra main()med 6 bestået som argument.

Derefter sendes 5 til multiplyNumbers()fra den samme funktion (rekursivt opkald). I hvert rekursivt opkald nedsættes værdien af ​​argument n med 1.

Når værdien af ​​n er mindre end 1, er der ingen rekursivt opkald, og faktoren returneres i sidste ende til main()funktionen.

Interessante artikler...