Fattoriale

Definizione iterativa

\displaystyle n!=\left\{ \begin{array}{ll}1&n=0,1\\ n(n-1)\,\dots\,1 & \text{altrimenti}\end{array} \right

Esempio

5! = 5*4*3*2*1 = 120

Definizione ricorsiva

\displaystyle n!=\left\{ \begin{array}{ll}1&n=0,1\\ n(n-1)! & \text{altrimenti}\end{array} \right

oppure

\displaystyle f(n)=\left\{ \begin{array}{ll}1&n=0,1\\ n\cdot f(n-1) & \text{altrimenti}\end{array} \right

Esempio

5! = 5*4! 
       4! = 4*3! 
              3! = 3*2! 
                     2! = 2*1! 
                            1! = 1 
                          2*1  = 2 
                   3*2  = 6 
            4*6  = 24 
     5*24 = 120

La funzione fattoriale è presente in molti linguaggi / applicazioni

  • Calc/Excel: FATTORIALE(x)
  • Octave: factorial(x)
  • Python: math.factorial(x)

Quando non è presente è necessario codificarla.

Approssimazione

Per n molto grande si può rinunciare al valore esatto e utilizzare la formula di Stirling

\displaystyle n! \approx \sqrt{2 \pi n}\left(\frac{n}{e}\right)^n