Gostaria de saber qual tipo de variável, se possível, armazenar grandes números como o fatorial de 100. O desafio é "printar" os fatoriais de 1 a 10, consegui. Mas antes de revisar o código, eu tinha colocado até 100. As saídas até o 20 deu certo, mas ficou alternando entre grandes negativos e positivos a partir do 21 e, após o 66, deu 0 até o 100.
public class DesafioFatorial{
public static void main(String[] args) {
System.out.println("O fatorial de 0 eh 1");
for(int fatorial = 1; fatorial <= 100; fatorial++){
long acumuladora = 1l;
for(int contador = 1;contador<=fatorial ;contador++ ){
acumuladora = acumuladora*contador;
} System.out.println("O fatorial de "+fatorial+" eh "+acumuladora); } } }