Definicja

Silnia liczby naturalnej n jest to iloczyn wszystkich liczby dodatnich nie większych niż n.

Na przykład silnią liczby 5 jest wartość równania \(1\cdot2\cdot3\cdot4\cdot5\).

Silnię liczby n oznacza się w następujący sposób: \(n!\)

Tak więc np. \(5! = 1\cdot2\cdot3\cdot4\cdot5 = 120\).

Silnia pierwszych 10 liczb

\(0! = 1 \\ 1! = 1 \\ 2! = 2 \\ 3! = 6 \\ 4! = 24 \\ 5! = 120 \\ 6! = 720 \\ 7! = 5040 \\ 8! = 40 320 \\ 9! = 362 880 \\ 10! = 3 628 800\)

Algorytm rekurencyjny

Wersja krótka

def silnia(n): return n*silnia(n-1) if n > 1 else 1

Wersja rozpisana

def silnia(n):
    if n > 1:
        return n*silnia(n-1)
    return 1

Algorytm iteracyjny

def silnia_i(n):
    s = 1
    for i in range(2, n+1):
        s *= i
    return s