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

Como resolver o problema do resultado do fatorial??

exercicio 6

Com o long melhora um pouco mas o fatorial de 21 dá "estouro" dos números. O valor máximo do long é 9223372036854775807 se ultrapassar esse valor, o valor fica negativo sem dar erro !

Opinião do instrutor Isso acontece porque, a partir de 16!, o valor supera o limite superior do tipo int. O tipo long consegue armazenar o cálculo dos fatoriais até 34!.

A grande questão é que no meu caso já estoura no 21

2 respostas
solução!

Oi Maria Sofia,

Você está certa! Já arrumei a resposta! Estoura no 21 mesmo! :)

Um abraço!

class fatoriallong {

public static void main(Stringundefined]args) {

long fatorial = 20; for(long n = 1; n <= 10; n++) {

fatorial = fatorial * n;

System.out.println("Fatorial Long (" + n + ") = " + fatorial); } } }