Selles näites õpid kirjutama JavaScripti programmi, mis leiab rekursiooni abil numbri faktori.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest JavaScripti programmeerimise teemadest:
- JavaScripti rekursioon
- JavaScripti, kui… muul juhul
Numbri faktoriaal on kõigi arvude korrutis 1-st kuni selle arvuni. Näiteks,
faktor 5 on võrdne 1 * 2 * 3 * 4 * 5 = 120 .
Positiivse arvu n faktoriaal arvutatakse järgmiselt:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Negatiivsete arvude faktoriaali pole olemas ja 0 faktorial on 1 .
Näide: leidke rekursiooni abil faktoriaal
// 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äljund
Sisestage positiivne arv: 4 Faktoriaal 4 on 24
Ülaltoodud programmis palutakse kasutajal sisestada number.
Kui kasutaja sisestab negatiivse numbri, kuvatakse teade Sisestage positiivne number. on näidatud.
Kui kasutaja sisestab positiivse arvu või 0 , factorial(num)
helistatakse funktsioonile .
- Kui kasutaja sisestab numbri 0 , tagastab programm 1 .
- Kui kasutaja sisestab numbri, mis on suurem kui 0 , helistab programm ennast rekursiivselt, vähendades numbrit.
- See protsess jätkub, kuni arvuks saab 1. Siis, kui number jõuab 0-ni, tagastatakse 1.
Siin,
faktoriaal (4) tagastab 4 * faktoriaal (3) faktoriaal (3) tagastab 4 * 3 * faktoriaal (2) faktoriaal (2) tagastab 4 * 3 * 2 * faktoriaal (1) faktoriaal (1) tagastab 4 * 3 * 2 * 1 * faktoriaal (0) faktoriaal (0) tagastab 4 * 3 * 2 * 1 * 1