Oi pessoal.
Minha dúvida é referente ao curso "Java I: Primeiros passos", aula "2. Variáveis e fluxo" e Exercício 7. Neste exercício falasse de exibir os fatoriais do número 1 ao 40.
Entendi que o objetivo do exercício é mostrar a tamanho do número que cabe em cada variável, para que testemos além do Int, o Long e o BigInteger por exemplo.
Porém fiquei com a seguinte dúvida. Se eu realmente quiser exibir os fatorias do 1 ao 40 devo continuar o código da maneira que estou fazendo abaixo até o número 40, ou há uma maneira mais fácil?
class Exercicio7_FatoriaisDe1a40 {
public static void main(String[] args) {
long fatorial = 1;
for (long n = 1; n <= 40; n++) {
if ( n==1 || n ==2 ) {
fatorial = fatorial * n;
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n > 2 && n <= 4) {
fatorial = n * (n - 1) * (n - 2);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 5) {
fatorial = n * (n - 1) * (n - 2) * (n - 3);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 6) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 7) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 8) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 9) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 10) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 11) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9) * (n - 10);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 12) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9) * (n - 10) * (n - 11);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 13) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9) * (n - 10) * (n - 11) * (n - 12);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 14) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9) * (n - 10) * (n - 11) * (n - 12) * (n - 13);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 15) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9) * (n - 10) * (n - 11) * (n - 12) * (n - 13) * (n - 14);
System.out.println("fat(" + n + ") = " + fatorial);
}
if ( n == 16) {
fatorial = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5) * (n - 6) * (n - 7) * (n - 8) * (n - 9) * (n - 10) * (n - 11) * (n - 12) * (n - 13) * (n - 14) * (n - 15);
System.out.println("fat(" + n + ") = " + fatorial);
}
}
}
}