potresti provare con un metodo ricorsivo piuttosto che iterativo..
in pratica chiami fattoriale all'interno di fattoriale stesso!