1
resposta

Posso usar desta forma?

public class TestaFatoriais2 {

    public static void main(String[] args) {
        for(int n = 1; n < 11; n++){
            for(int fatorial = 1; fatorial < 11; fatorial *= n) {
                System.out.println("Fatorial de " +n+ " = " +fatorial);
            }
        }
    }
}

Poderia ser assim o código? Deu erro, onde ele só repete pra mim o 1 onde posso consertar para usar este código?.

1 resposta

Boa noite Lucas,

Segue o código corrigido e com alguns comentários. Lembrando que esse é a solução em que eu cheguei, o exercício poderia ser feito de maneiras diferentes, compare com o seu código.

public class TestaFatoriais2 {

    public static void main(String[] args) {

        int somaFatorial = 1;

        for(int n = 1; n < 11; n++){ //esse looping vai rodar 10 vezes
            for(int fatorial = 1; fatorial <= n; fatorial++) { //esse looping vai rodar n vezes
                somaFatorial = somaFatorial * fatorial; //armazena o resultado da soma vezes o próximo fatorial
            }
            System.out.println("Fatorial de " +n+ " = " + somaFatorial);
            somaFatorial = 1; // transforma a somaFatorial em 1 novamente
        }
    }
}

abraços