Program JavaScript do znajdowania silni liczby przy użyciu rekursji

W tym przykładzie nauczysz się pisać program JavaScript, który odnajduje silnię liczby za pomocą rekursji.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania JavaScript:

  • Rekursja JavaScript
  • JavaScript if… else Instrukcja

Silnia liczby jest iloczynem wszystkich liczb od 1 do tej liczby. Na przykład,

silnia 5 jest równa 1 * 2 * 3 * 4 * 5 = 120 .

Silnia liczby dodatniej n jest wyrażona wzorem:

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

Silnia liczb ujemnych nie istnieje, a silnia 0 to 1 .

Przykład: Znajdź silnię za pomocą rekursji

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

Wynik

 Podaj liczbę dodatnią: 4 Silnia 4 to 24

W powyższym programie użytkownik jest proszony o wprowadzenie liczby.

Gdy użytkownik wprowadzi liczbę ujemną, zostanie wyświetlony komunikat Wprowadź liczbę dodatnią. jest pokazane.

Gdy użytkownik wprowadzi liczbę dodatnią lub 0 , factorial(num)wywoływana jest funkcja .

  • Jeśli użytkownik wpisze liczbę 0 , program zwróci 1 .
  • Jeśli użytkownik wprowadzi liczbę większą niż 0 , program będzie rekurencyjnie wywoływał siebie, zmniejszając tę ​​liczbę.
  • Ten proces jest kontynuowany, aż liczba stanie się 1. Następnie, gdy liczba osiągnie 0, zwracane jest 1.

Tutaj,

 silnia (4) zwraca 4 * silnia (3) silnia (3) zwraca 4 * 3 * silnia (2) silnia (2) zwraca 4 * 3 * 2 * silnia (1) silnia (1) zwraca 4 * 3 * 2 * 1 * silnia (0) silnia (0) zwraca 4 * 3 * 2 * 1 * 1

Interesujące artykuły...