I dette eksemplet lærer du å skrive et JavaScript-program som finner faktoren til et nummer ved hjelp av rekursjon.
For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:
- JavaScript-rekursjon
- JavaScript hvis … annet uttalelse
Faktoriet til et tall er produktet av alle tallene fra 1 til det nummeret. For eksempel,
fabrikk på 5 er lik 1 * 2 * 3 * 4 * 5 = 120 .
Faktoren til et positivt tall n er gitt av:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Faktoren for negative tall eksisterer ikke, og faktoren 0 er 1 .
Eksempel: Finn faktor ved hjelp av rekursjon
// program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )
Produksjon
Skriv inn et positivt tall: 4 Faktoren på 4 er 24
I programmet ovenfor blir brukeren bedt om å skrive inn et nummer.
Når brukeren skriver inn et negativt tall, en melding Skriv inn et positivt tall. er vist.
Når brukeren skriver inn et positivt tall eller 0 , blir funksjonen factorial(num)
kalt.
- Hvis brukeren skriver inn tallet 0 , returnerer programmet 1 .
- Hvis brukeren skriver inn et tall større enn 0 , vil programmet rekursivt ringe seg selv ved å redusere antallet.
- Denne prosessen fortsetter til tallet blir 1. Når tallet når 0, returneres 1.
Her,
fabrikk (4) returnerer 4 * fabrikk (3) fabrikk (3) returnerer 4 * 3 * fabrikk (2) fabrikk (2) returnerer 4 * 3 * 2 * fabrikk (1) fabrikk (1) returnerer 4 * 3 * 2 * 1 * fabrikk (0) fabrikk (0) returnerer 4 * 3 * 2 * 1 * 1