(Tempo di lettura: 1 minuto)

Il doppio fattoriale è definito come:

\[ n!!= \left\{ \begin{matrix}1,\qquad\quad\ \mbox{se }n=0\mbox{ o }n=1; \\ n[(n-2)!!]\mbox{se }n\ge2.\qquad\qquad \end{matrix} \right. \]

Per esempio

\[8!!=8*6*4*2=384 \]

Un algoritmo come questo può essere implementato molto facilmente in maniera ricorsiva, dove il metodo chiama più volte se stesso, infatti questa è l'implementazione che ne ho fatto:

public static long doubleFact(long n){
if(n>=52)return 0;
if(n<=0)
return 1;
else
return doubleFact(n-2)*n;

}