I dette eksemplet lærer du å finne faktoren til et ikke-negativt heltall som er angitt av brukeren ved hjelp av rekursjon.
For å forstå dette eksemplet, bør du ha kunnskap om følgende C-programmeringsemner:
- C Funksjoner
- C Brukerdefinerte funksjoner
- C Rekursjon
Faktoren til et positivt tall n er gitt av:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Faktoriet om et negativt tall eksisterer ikke. Og faktoren til 0
er 1
.
Du vil lære å finne et tallfaktor ved hjelp av rekursjon i dette eksemplet. Besøk denne siden for å lære hvordan du kan finne et talls faktura ved hjelp av en løkke.
Faktor av et tall ved bruk av rekursjon
#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; )
Produksjon
Angi et positivt heltall: 6 Faktor 6 = 720
Anta at brukeren skrev inn 6.
Opprinnelig multiplyNumbers()
kalles fra main()
med 6 bestått som argument.
Deretter sendes 5 til multiplyNumbers()
fra samme funksjon (rekursivt anrop). I hvert rekursivt anrop reduseres verdien av argument n med 1.
Når verdien av n er mindre enn 1, er det ingen rekursivt anrop, og faktoren returneres til slutt til main()
funksjonen.