Šajā piemērā jūs iemācīsities rakstīt JavaScript programmu, kas, izmantojot rekursiju, atrod skaitļa faktoriālu.
Lai saprastu šo piemēru, jums jāpārzina šādas JavaScript programmēšanas tēmas:
- JavaScript rekursija
- JavaScript, ja … cits paziņojums
Skaitļa faktoriāls ir visu skaitļu reizinājums no 1 līdz šim skaitlim. Piemēram,
koeficients 5 ir vienāds ar 1 * 2 * 3 * 4 * 5 = 120 .
Pozitīvā skaitļa n koeficientu izsaka:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Negatīvo skaitļu faktoriāls nepastāv, un faktori 0 ir 1 .
Piemērs: Atrodiet faktori, izmantojot rekursiju
// 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.'); )
Rezultāts
Ievadiet pozitīvu skaitli: 4 faktori no 4 ir 24
Iepriekš minētajā programmā lietotājam tiek piedāvāts ievadīt numuru.
Kad lietotājs ievada negatīvu skaitli, tiek parādīts ziņojums Ievadiet pozitīvu skaitli. ir parādīts.
Kad lietotājs ievada pozitīvu skaitli vai 0 , funkcija factorial(num)
tiek izsaukta.
- Ja lietotājs ievadīs skaitli 0 , programma atgriezīsies 1 .
- Ja lietotājs ievadīs skaitli, kas ir lielāks par 0 , programma rekursīvi piezvanīs, samazinot skaitli.
- Šis process turpinās, līdz skaitlis kļūst par 1. Tad, kad skaitlis sasniedz 0, tiek atgriezts 1.
Šeit,
faktoriāls (4) atgriež 4 * faktoriāls (3) faktoriāls (3) atgriež 4 * 3 * faktoriāls (2) faktoriāls (2) atgriež 4 * 3 * 2 * faktoriāls (1) faktoriāls (1) atgriež 4 * 3 * 2 * 1 * faktoriāls (0) faktoriāls (0) atgriež 4 * 3 * 2 * 1 * 1