În matematică factorialul unui număr întreg pozitiv n
este notat cu n!
și este egal cu produsul numerelor naturale mai mici sau egale cu n
. Prin definiție, 0!=1
.
Factorialul unui număr oarecare n
indică numărul de permutări (numărul de posibilități de rearanjare) ale unei mulțimi finite având n
elemente.
Definiții
Factorialul poate fi definit:
- iterativ: \( n! = 1 \cdot 2 \cdot 3 \cdot \cdots \cdot n \), \(0!=1\)
- recursiv: \( n! = \begin{cases}
1& \text{dacă } n = 0 ,\\
n \cdot (n-1)! & \text{altfel}.
\end{cases} \)
Observații
Obs. 1: Factorialul crește foarte repede. Pentru valori mici ale lui n
, valoarea lui n!
depășește tipurile de date standard:
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800 -> depaseste tipul int
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
21! = 51090942171709440000 -> depaseste tipul long long int
Obs. 2: Pentru n≥5
, ultima cifră a lui n!
este 0
.
Cifra 0
de la finalul unui produs, provine din 2*5
. Numărul de zerouri de la finalul unui este egal cu minimul dintre exponentul lui 2
și exponentul lui 5
în descompunerea în factori prim a produsului, aceasta obținându-se din descompunerea în factori prim a fiecărui factor. În cazul lui n!
, numărul de zerouri de la final este egal cu exponentul lui 5
în descompunerea în factori. El poate fi determinat astfel:
Obs. 3: Numărul de zerouri de la finalul lui n!
este egal cu \( [\frac {n}{5}] + [\frac {n}{5^2}] + [\frac {n}{5^3}] + \cdots\ + [\frac {n}{5^k}] + \cdots \), unde \( [x] \) reprezintă partea întreagă a numărului real \( x \). Pentru \( k \) suficient de mare \( 5^k > n\) și \( [\frac {n}{5^k}] \) devine 0
.
O sursă C++ care determină rezultatul este:
#include <iostream>
using namespace std;
int main()
{
int n, p = 5, s = 0;
cin >> n;
while(p <= n)
s += n / p, p *= 5;
cout << s;
return 0;
}
Observația de mai sus este o consecință a:
Obs. 4: Pentru un n
dat și un număr prim p
, exponentul lui p
în descompunerea în factori primi a lui n!
este \( [\frac {n}{p}] + [\frac {n}{p^2}] + [\frac {n}{p^3}] + \cdots\ + [\frac {n}{p^k}] + \cdots \), rezultat cunoscut ca formula lui Legendre.
O scriere alternativă este dată în următoarea observație:
Obs. 5: Pentru un n
dat și un număr prim p
, exponentul lui p
în descompunerea în factori primi a lui n!
este \( \frac {n-s_{p}(n)}{p-1}\), unde \( s_{p}(n)\) reprezintă suma cifrelor reprezentării în baza p
a numărului n
.
Pentru mai multe informații, vizitați pagina Factorial – Wikipedia.