Um dos primeiros exercícios de lógica de programação é calcular números fatoriais. Um número fatorial é dado pela seguinte fórmula:

Há dois algoritmos bem conhecidos: o iterativo:
public static int fatorialIterativo(int n) {
int fat = n;
if(n==0) return 1;
while(n > 1) {
fat *= --n;
}
return fat;
}
E o recursivo:
public static int fatorialRecursivo(int n) {
return n == 0 ? 1 : n * fatorialRecursivo(n-1);
}
dasda
http://www.luschny.de/math/factorial/FastFactorialFunctions.htm