V tomto príklade sa naučíte písať program JavaScriptu, ktorý nájde faktoriál čísla pomocou rekurzie.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:
- Rekurzia jazyka JavaScript
- Vyhlásenie JavaScript, ak … else
Faktoriál čísla je súčinom všetkých čísel od 1 do tohto čísla. Napríklad,
faktoriál 5 sa rovná 1 * 2 * 3 * 4 * 5 = 120 .
Faktoriál kladného čísla n je daný:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Faktoriál záporných čísel neexistuje a faktoriál 0 je 1 .
Príklad: Nájdite faktoriál pomocou rekurzie
// 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.'); )
Výkon
Zadajte kladné číslo: 4 Faktoriál 4 je 24
Vo vyššie uvedenom programe je používateľ vyzvaný na zadanie čísla.
Keď používateľ zadá záporné číslo, zobrazí sa správa Zadajte kladné číslo. je ukázané.
Keď užívateľ zadá kladné číslo alebo 0 , funkcia factorial(num)
sa zavolá.
- Ak užívateľ zadá číslo 0 , program vráti 1 .
- Ak užívateľ zadá číslo väčšie ako 0 , program sa bude rekurzívne nazývať znížením čísla.
- Tento proces pokračuje, kým sa číslo nestane 1. Potom, keď počet dosiahne 0, vráti sa 1.
Tu,
faktoriál (4) vráti 4 * faktoriál (3) faktoriál (3) vráti 4 * 3 * faktoriál (2) faktoriál (2) vráti 4 * 3 * 2 * faktoriál (1) faktoriál (1) vráti 4 * 3 * 2 * 1 * faktoriál (0) faktoriál (0) vráti 4 * 3 * 2 * 1 * 1