Ebben a példában megtanul olyan JavaScript programot írni, amely rekurzió segítségével megtalálja a szám tényleges számát.
A példa megértéséhez ismernie kell a következő JavaScript programozási témákat:
- JavaScript rekurzió
- JavaScript, ha… más nyilatkozat
A szám faktoriálja az 1- től számig terjedő összes szám szorzata . Például,
az 5 faktoriális értéke 1 * 2 * 3 * 4 * 5 = 120 .
Az n pozitív szám tényezőjét a következő adja meg:
factorial of n (n!) = 1 * 2 * 3 * 4… n
A negatív számok faktoriálja nem létezik, a 0 faktoriális értéke pedig 1 .
Példa: Keresse meg a faktort a rekurzió használatával
// 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.'); )
Kimenet
Adjon meg egy pozitív számot: 4 A 4 tényezője 24
A fenti programban a felhasználót arra kérjük, hogy adjon meg egy számot.
Amikor a felhasználó negatív számot ír be, akkor írjon be egy pozitív számot. megmutatva.
Amikor a felhasználó pozitív számot vagy 0-t ír be , a függvény factorial(num)
meghívásra kerül.
- Ha a felhasználó beírja a 0 számot , akkor a program 1-et ad vissza .
- Ha a felhasználó 0- nál nagyobb számot ír be , akkor a program rekurzívan felhívja magát a szám csökkentésével.
- Ez a folyamat addig folytatódik, amíg a szám 1. nem lesz. Ezután, amikor a szám eléri a 0 értéket, 1 visszatér.
Itt,
faktoriális (4) 4 * faktoriális (3) faktoriális (3) 4 * 3 * faktoriális (2) faktoriális (2) eredményt ad vissza 4 * 3 * 2 * faktoriális (1) faktoriális (1) 4 * 3 * 2 * értéket ad vissza 1 * faktoriális (0) faktoriális (0) 4 * 3 * 2 * 1 * 1 értéket ad vissza