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