Šiame pavyzdyje jūs išmoksite rašyti „JavaScript“ programą, kuri, naudodama rekursiją, suranda skaičiaus faktorialą.
Norėdami suprasti šį pavyzdį, turite žinoti šias „JavaScript“ programavimo temas:
- „JavaScript“ rekursija
- „JavaScript“, jei… kitas pareiškimas
Skaičio faktorialas yra visų skaičių nuo 1 iki šio skaičiaus sandauga . Pavyzdžiui,
koeficientas iš 5 yra lygus 1 * 2 * 3 * 4 * 5 = 120 .
Teigiamo skaičiaus n faktorą pateikia:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Neigiamų skaičių faktorialas neegzistuoja, o 0 faktorialas yra 1 .
Pavyzdys: raskite faktorių naudodami rekursiją
// 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.'); )
Rezultatas
Įveskite teigiamą skaičių: 4 4 faktorialas yra 24
Pirmiau minėtoje programoje vartotojas raginamas įvesti numerį.
Kai vartotojas įveda neigiamą skaičių, pranešimas Įveskite teigiamą skaičių. yra pavaizduotas.
Kai vartotojas įveda teigiamą skaičių arba 0 , funkcija factorial(num)
iškviečiama.
- Jei vartotojas įves skaičių 0 , programa grąžins 1 .
- Jei vartotojas įves skaičių, didesnį nei 0 , programa rekursyviai paskambins, sumažindama skaičių.
- Šis procesas tęsiasi tol, kol skaičius tampa 1. Tada, kai skaičius pasiekia 0, grąžinama 1.
Čia
faktorius (4) grąžina 4 * faktorius (3) faktorius (3) grąžina 4 * 3 * faktorius (2) faktorius (2) grąžina 4 * 3 * 2 * faktorius (1) faktorius (1) grąžina 4 * 3 * 2 * 1 * faktorius (0) faktorius (0) grąžina 4 * 3 * 2 * 1 * 1