V tomto příkladu se naučíte psát program JavaScript, který najde faktoriál čísla pomocí rekurze.
Abyste pochopili tento příklad, měli byste znát následující programovací témata JavaScriptu:
- Rekurze JavaScript
- Prohlášení JavaScript, pokud … else
Faktoriál čísla je součinem všech čísel od 1 do tohoto čísla. Například,
faktoriál 5 se rovná 1 * 2 * 3 * 4 * 5 = 120 .
Faktoriál kladného čísla n je dán vztahem:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Faktoriál záporných čísel neexistuje a faktoriál 0 je 1 .
Příklad: Najděte faktoriál pomocí rekurze
// 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ýstup
Zadejte kladné číslo: 4 Faktoriál 4 je 24
Ve výše uvedeném programu je uživatel vyzván k zadání čísla.
Když uživatel zadá záporné číslo, zobrazí se zpráva Zadejte kladné číslo. je ukázáno.
Když uživatel zadá kladné číslo nebo 0 , funkce factorial(num)
se zavolá.
- Pokud uživatel zadá číslo 0 , program vrátí 1 .
- Pokud uživatel zadá číslo větší než 0 , program se rekurzivně zavolá snížením čísla.
- Tento proces pokračuje, dokud se číslo nestane 1. Potom, když počet dosáhne 0, je vrácena 1.
Tady,
faktoriál (4) vrátí 4 * faktoriál (3) faktoriál (3) vrátí 4 * 3 * faktoriál (2) faktoriál (2) vrátí 4 * 3 * 2 * faktoriál (1) faktoriál (1) vrátí 4 * 3 * 2 * 1 * faktoriál (0) faktoriál (0) vrací 4 * 3 * 2 * 1 * 1