Amigos, a resposta do instrutor é a seguinte
class Fatorial {
public static void main (String[] args) {
int fatorial = 1;
for (int n = 1; n <= 10; n++) {
if ( n==1 || n ==2 ) {
fatorial = fatorial * n;
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n > 2) {
fatorial = n * (n-1) * (n - 2);
System.out.println("fat(" + n + ") = " + fatorial);
}
}
}
}
A saída para tal algoritmo é a seguinte: fat(1) = 1 fat(2) = 2 fat(3) = 6 fat(4) = 24 fat(5) = 60 fat(6) = 120 fat(7) = 210 fat(8) = 336 fat(9) = 504 fat(10) = 720 O próprio exemplo do exercício mostra que o resultado de !6 = 720. Acredito haver um equivoco no enunciado ou na questão. Minha resposta:
public class Fatorial {
public static void main(String[] args) {
long n = 1;
long fatorial = 1;
for (int i = 1; i <= 10; i++) {
fatorial *=i;
System.out.println("fatorial ("+i+") = "+fatorial);
}
}
}
Saída que acredito ser a correta: fatorial (1) = 1 fatorial (2) = 2 fatorial (3) = 6 fatorial (4) = 24 fatorial (5) = 120 fatorial (6) = 720 fatorial (7) = 5040 fatorial (8) = 40320 fatorial (9) = 362880 fatorial (10) = 3628800