Existem 2 abordagens possíveis:
- Fazer o produtório toda vez, para cada iteração do n ;
- Guardar o fatorial da iteração anterior, e apenas fazer a mulplicação por n ;
public class DesafioFatorial {
public static void main(String[] args) {
System.out.println("Desafio fatorial 1 a 10");
System.out.println();
System.out.println("1a abordagem: produtorio para cada n");
for (int n = 1; n <= 10; n++) {
int fatorial = 1; // fatorial de 0
for (int k = 1; k <= n; k++) {
fatorial *= k;
}
System.out.println(n + "! = " + fatorial);
}
System.out.println();
System.out.println("2a abordagem: usar fatorial anterior");
for (int n = 1, fatorial = 1; n <= 10; n++) {
fatorial *= n;
System.out.println(n + "! = " + fatorial);
}
}
}