Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida Fatorial

public class Fatorial{ public static void main (String[]args){ long resultado = 1l; for(int numero = 1; numero <= 10; numero++){ for(int fatorial = numero; fatorial > 0; fatorial--){ resultado *= fatorial; } System.out.println("Fatorial de " + numero + " é: " + resultado); } } }

Professor, qual o erro no meu código?

2 respostas
solução!

Ola amigo, acontece que no for vc tem que atribuir novamente o valor 1 a variavel resultado, se não ela fica com o resultado do fatorial anterior, por exemplo no fatorial de 3, ao invés de resultado ser 1, ele estava como 2, que era o resultado do fatorial anterior, fazendo com que ficasse 12 entendeu? segue o codigo:


public class Fatorial {
    public static void main(String[] args) {

        double resultado = 1;

        for (int numero = 1; numero <= 10; numero++) {
                //Apenas inserir a linha abaixo
            resultado = 1;
            for (int fatorial = numero; fatorial > 0; fatorial--) {

                resultado *= fatorial;
            }

            System.out.println("Fatorial de " + numero + " é: " + resultado);
        }
    }
}

Vlw cara, muito obrigado!