1
resposta

Erro no resultado de número com mais de 10 dígitos

Na solução apresentada para o exércios temos duas situações que não foram pontuadas, falta fechar a função scanner e não resolve números fatoriais grandes como por exemplo o 75 que retorna como zero,

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá. Bom dia!

É porque o tipo inteiro "int" declarado na variável fatorial não comporta números grandes, o máximo que esse tipo suporta é: -2.147.483.648 a 2.147.483.647. Acima ou abaixo desses valores dá bug. Use o tipo double na declaração da variável fatorial. Especificamente, ele geralmente pode armazenar números entre aproximadamente ±5.0 × 10⁻³²⁴ e ±1.7 × 10³⁰⁸, com uma precisão de 15 a 17 dígitos decimais. Em resumo: Precisão: 15 a 17 dígitos decimais. Intervalo: ±5.0 × 10⁻³²⁴ a ±1.7 × 10³⁰⁸. Uso: Ideal para cálculos científicos, financeiros e outros que exigem alta precisão. Tipos numéricos de ponto flutuante - C# reference - Learn Microsoft 9 de mai. de 2023