Tässä esimerkissä opit kirjoittamaan JavaScript-ohjelman, joka löytää luvun faktorin rekursiota käyttämällä.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista JavaScript-ohjelmoinnin aiheista:
- JavaScript-rekursio
- JavaScript jos… muuten lausunto
Kertoma numero on tuotteen kaikki numerot 1 ja että määrä. Esimerkiksi,
kerroin 5 on yhtä suuri kuin 1 * 2 * 3 * 4 * 5 = 120 .
Positiivisen luvun n kerroin saadaan:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Negatiivisten lukujen kerrointa ei ole olemassa ja 0: n kerroin on 1 .
Esimerkki: Etsi faktori rekursiota käyttämällä
// 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.'); )
Tuotos
Syötä positiivinen luku: 4 4: n kerroin on 24
Yllä olevassa ohjelmassa käyttäjää kehotetaan syöttämään numero.
Kun käyttäjä syöttää negatiivisen luvun, viesti Syötä positiivinen luku. on näytetty.
Kun käyttäjä syöttää positiivisen luvun tai 0 , toiminto factorial(num)
kutsutaan.
- Jos käyttäjä syöttää numeron 0 , ohjelma palauttaa arvon 1 .
- Jos käyttäjä syöttää numeron, joka on suurempi kuin 0 , ohjelma soittaa itselleen rekursiivisesti vähentämällä numeroa.
- Tämä prosessi jatkuu, kunnes luvusta tulee 1. Sitten kun luku saavuttaa 0, 1 palautetaan.
Tässä,
factororial (4) palauttaa 4 * factororial (3) factororial (3) palauttaa 4 * 3 * factororial (2) factororial (2) palauttaa 4 * 3 * 2 * factororial (1) factororial (1) palauttaa 4 * 3 * 2 * 1 * kerroin (0) kerroin (0) palauttaa arvon 4 * 3 * 2 * 1 * 1