Kalkulator silni

Zakres: 0–170 (limit JavaScript)

📊 Wynik

5!
=
120
📏 Liczba cyfr
3
🔟 Zera na końcu
1
🔢 Zapis naukowy
1.2e+2

📝 Obliczenia krok po kroku:

🎨 Wizualne drzewo mnożenia

🎯 Permutacje i kombinacje

🔄 Permutacje P(n,r)

Wzór: P(n,r) = n!/(n-r)!
60
5!/(5-3)! = 60

💡 Kolejność ma znaczenie: ABC ≠ BAC

🎲 Kombinacje C(n,r)

Wzór: C(n,r) = n!/(r!(n-r)!)
10
5!/(3!×2!) = 10

💡 Kolejność nie ma znaczenia: ABC = BAC

📋 Tabela wartości silni

n n! Cyfry Przykład z życia

💡 Ciekawostki

🃏 Tasowanie kart

52! ≈ 8.07 × 10⁶⁷ możliwych ułożeń. Gdyby każda osoba na Ziemi tasowała jedną talię na sekundę od Wielkiego Wybuchu, ledwo musnęlibyśmy ogrom możliwości!

🎭 Miejsca w teatrze

10 osób można posadzić na 10! = 3,628,800 różnych sposobów. Logistyka staje się wykładniczo bardziej złożona!

📊 0! = 1

Z definicji 0! = 1. Istnieje dokładnie jeden sposób ułożenia zera obiektów: nic nie robić! To sprawia, że wzory matematyczne działają spójnie.

🚀 Tempo wzrostu

Silnia rośnie szybciej niż funkcja wykładnicza! Podczas gdy 2ⁿ się podwaja, n! mnoży przez coraz większe wartości. 100! ma 158 cyfr!

Kalkulator silni - Oblicz n! krok po kroku

🔢 Oblicz silnię (n!) dla dowolnej liczby od 0 do 170. Zobacz rozpisanie krok po kroku, permutacje, kombinacje oraz zastosowania w świecie rzeczywistym.

Czym jest silnia?

Silnia nieujemnej liczby całkowitej n, oznaczana jako n!, to iloczyn wszystkich dodatnich liczb całkowitych mniejszych lub równych n. Przedstawia liczbę sposobów uporządkowania n różnych obiektów.

Wzór na silnię

n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1

  • 0! = 1 (z definicji)
  • 1! = 1
  • n! = n × (n-1)! (definicja rekurencyjna)

Przykłady silni

  • 5! = 5 × 4 × 3 × 2 × 1 = 120
  • 10! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 3,628,800
  • 0! = 1 (przypadek szczególny)
  • 20! = 2,432,902,008,176,640,000

Dlaczego 0! = 1?

Istnieje dokładnie jeden sposób uporządkowania zera obiektów: „puste” uporządkowanie. Taka definicja zapewnia, że wzory matematyczne (zwłaszcza w kombinatoryce) działają poprawnie. Jest też zgodna z rekurencją: n! = n × (n-1)!, więc 1! = 1 × 0! oznacza, że 0! musi wynosić 1.

Permutacje

P(n,r) = n!/(n-r)!

Liczba sposobów ułożenia r obiektów z n różnych obiektów, gdy kolejność ma znaczenie.

  • Przykład: P(5,3) = 5!/(5-3)! = 120/2 = 60
  • Zastosowanie: miejsca na podium w wyścigu (1., 2., 3.)

Kombinacje

C(n,r) = n!/(r!(n-r)!)

Liczba sposobów wybrania r obiektów z n różnych obiektów, gdy kolejność nie ma znaczenia.

  • Przykład: C(5,3) = 5!/(3!×2!) = 120/(6×2) = 10
  • Zastosowanie: liczby w loterii, wybór komisji

Zera na końcu n!

Zera na końcu powstają z czynników 10 = 2 × 5. Ponieważ czynników 2 jest więcej niż 5, wystarczy policzyć czynniki 5:

Zera = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ...

  • 10! ma 2 zera na końcu
  • 25! ma 6 zer na końcu
  • 100! ma 24 zera na końcu

Zastosowania w praktyce

  • Kryptografia: liczba możliwych kluczy szyfrujących
  • Planowanie: sposoby układania spotkań, zadań, wydarzeń
  • Genetyka: możliwe sekwencje DNA/białek
  • Prawdopodobieństwo: obliczanie szans w grach i loteriach
  • Informatyka: analiza złożoności algorytmów
  • Produkcja: układ linii produkcyjnej
  • Logistyka: problemy optymalizacji tras

Znane wartości silni

  • 52! ≈ 8.07 × 10⁶⁷ (tasowanie kart)
  • 70! ≈ 1.2 × 10¹⁰⁰ (przewyższa liczbę atomów we wszechświecie ≈ 10⁸⁰)
  • 100! ≈ 9.3 × 10¹⁵⁷ (158 cyfr!)
  • 170! ≈ 7.3 × 10³⁰⁶ (maksimum JavaScript)

Przybliżenie Stirlinga

Dla dużych n dokładne obliczanie silni jest niepraktyczne. Pomaga przybliżenie Stirlinga:

n! ≈ √(2πn) × (n/e)ⁿ

To przybliżenie staje się dokładniejsze wraz ze wzrostem n. Dla n = 10 błąd wynosi < 1%.

Tempo wzrostu silni

Silnia rośnie znacznie szybciej niż funkcje wykładnicze czy wielomianowe:

  • Wielomian: n² = 100 dla n=10
  • Wykładnicza: 2ⁿ = 1,024 dla n=10
  • Silnia: n! = 3,628,800 dla n=10

Podwójna silnia

Podwójna silnia (n!!) mnoży co drugi element:

  • n!! = n × (n-2) × (n-4) × ... × 2 lub 1
  • 7!! = 7 × 5 × 3 × 1 = 105
  • 8!! = 8 × 6 × 4 × 2 = 384

Subsilnia (derangements)

Subsilnia !n liczy permutacje, w których żaden element nie znajduje się na swoim pierwotnym miejscu:

!n = n! × (1/0! - 1/1! + 1/2! - 1/3! + ... + (-1)ⁿ/n!)

Przykład: !3 = 2 (ułożenia ABC bez stałych punktów: BCA, CAB)

Implementacja programistyczna

Podejście iteracyjne:

function factorial(n) {
    let result = 1;
    for (let i = 2; i <= n; i++) {
        result *= i;
    }
    return result;
}
            

Podejście rekurencyjne:

function factorial(n) {
    if (n === 0 || n === 1) return 1;
    return n * factorial(n - 1);
}
            

💡 Wskazówka: Przy obliczaniu permutacji lub kombinacji skracaj wspólne czynniki przed liczeniem, aby uniknąć przepełnienia. Dla C(100,2) = 100!/(2!×98!) licz: (100×99)/2 = 4,950 zamiast obliczać ogromne silnie osobno!

Komentarze (0)

Podziel się swoją opinią — prosimy o uprzejmość i trzymanie się tematu.

Nie ma jeszcze komentarzy. Zostaw komentarz i podziel się swoją opinią!

Aby dodać komentarz, zaloguj się.

Zaloguj się, aby komentować