JavaScript-ohjelma lukujen faktorin löytämiseksi rekursiolla

Tässä esimerkissä opit kirjoittamaan JavaScript-ohjelman, joka löytää luvun faktorin rekursiota käyttämällä.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista JavaScript-ohjelmoinnin aiheista:

  • JavaScript-rekursio
  • JavaScript jos… muuten lausunto

Kertoma numero on tuotteen kaikki numerot 1 ja että määrä. Esimerkiksi,

kerroin 5 on yhtä suuri kuin 1 * 2 * 3 * 4 * 5 = 120 .

Positiivisen luvun n kerroin saadaan:

 factorial of n (n!) = 1 * 2 * 3 * 4… n

Negatiivisten lukujen kerrointa ei ole olemassa ja 0: n kerroin on 1 .

Esimerkki: Etsi faktori rekursiota käyttämällä

 // 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.'); )

Tuotos

 Syötä positiivinen luku: 4 4: n kerroin on 24

Yllä olevassa ohjelmassa käyttäjää kehotetaan syöttämään numero.

Kun käyttäjä syöttää negatiivisen luvun, viesti Syötä positiivinen luku. on näytetty.

Kun käyttäjä syöttää positiivisen luvun tai 0 , toiminto factorial(num)kutsutaan.

  • Jos käyttäjä syöttää numeron 0 , ohjelma palauttaa arvon 1 .
  • Jos käyttäjä syöttää numeron, joka on suurempi kuin 0 , ohjelma soittaa itselleen rekursiivisesti vähentämällä numeroa.
  • Tämä prosessi jatkuu, kunnes luvusta tulee 1. Sitten kun luku saavuttaa 0, 1 palautetaan.

Tässä,

 factororial (4) palauttaa 4 * factororial (3) factororial (3) palauttaa 4 * 3 * factororial (2) factororial (2) palauttaa 4 * 3 * 2 * factororial (1) factororial (1) palauttaa 4 * 3 * 2 * 1 * kerroin (0) kerroin (0) palauttaa arvon 4 * 3 * 2 * 1 * 1

Mielenkiintoisia artikkeleita...