[JavaScript] Jak obliczyć silnię?
Silnia jest matematyczną operacją, która polega na mnożeniu wszystkich liczb całkowitych od 1 do danej liczby całkowitej. Oznacza się ją symbolem "!". Np. 4! = 1 * 2 * 3 * 4 = 24.
Aby obliczyć silnię w JavaScript, można skorzystać z pętli lub rekurencji. Oba podejścia są równie poprawne, ale różnią się sposobem implementacji. Przyjrzyjmy się obu metodom:
Pętla
Pierwszym sposobem jest użycie pętli do iteracji przez liczby od 1 do danej liczby i pomnożenie ich:
function calculateFactorial(number) {
let result = 1;
for (let i = 1; i <= number; i++) {
result *= i;
}
return result;
}
const num = 5;
const factorial = calculateFactorial(num);
alert(num + '! = ' + factorial);
W powyższym kodzie zdefiniowaliśmy funkcję `calculateFactorial`, która przyjmuje jedną argument - `number`. Inicjalizujemy zmienną `result` na 1, ponieważ chcemy mnożyć liczby przez siebie. Następnie używamy pętli `for` do iteracji od 1 do `number` i mnożymy `result` przez aktualną wartość `i`. Na końcu zwracamy wynik.
Rekurencja
Drugim sposobem jest użycie funkcji rekurencyjnej, czyli funkcji, która wywołuje samą siebie:
function calculateFactorial(number) {
if (number === 0) {
return 1;
} else {
return number * calculateFactorial(number - 1);
}
}
const num = 10;
const factorial = calculateFactorial(num);
alert(num + '! = ' + factorial);
W powyższym kodzie sprawdzamy, czy `number` jest równa zero. Jeśli tak, zwracamy 1, ponieważ 0! wynosi 1. W przeciwnym razie, zwracamy `number` pomnożoną przez `calculateFactorial(number - 1)`. To wywołanie funkcji rekurencyjnej powoduje obliczenie silni dla liczby mniejszej o 1, aż do osiągnięcia przypadku bazowego.
Oba powyższe przykłady pokazują, jak obliczyć silnię w języku JavaScript. Wybór metody zależy od preferencji programisty i kontekstu, w jakim jest używana. Pamiętaj, że silnia jest definiowana tylko dla liczb całkowitych większych lub równych zero.
Komentarze
Prześlij komentarz
Dzięki za komentarz!