🧰 ToolPicoTodas as ferramentas →

InícioBlog › Fatorial de 100 ou 1000

Fatorial de 100 ou 1000: como calcular sem perder um único dígito

Se já tentaste calcular 25! ou 50! numa calculadora normal e viste um resultado estranho em notação científica arredondada, não estás sozinho — isto acontece a partir de aproximadamente 18!. Este guia explica porquê e como obter o valor exato, mesmo para 1000!.

Índice

Porque uma calculadora normal falha a partir de 20!

Resposta rápidaO tipo de número padrão usado pela maioria das calculadoras e linguagens de programação (Number, em JavaScript) só representa inteiros com exatidão até cerca de 2^53. Esse limite é ultrapassado por volta de 18!–19!, e a partir de 171! o valor faz mesmo overflow para infinito. A calculadora de fatorial do ToolPico resolve isto usando BigInt, um tipo de dados que preserva a precisão inteira total, dando um resultado exato até 1000!.

Isto não é um detalhe menor. Quando o resultado ultrapassa a precisão do Number, a calculadora não dá um erro — dá silenciosamente um valor aproximado, muitas vezes com os últimos dígitos errados. Para quem precisa do número exato de dígitos, dos últimos algarismos, ou de comparar dois fatoriais grandes com rigor, esse arredondamento silencioso é o pior tipo de erro: parece correto, mas não é.

Facto-chave: 20! = 2.432.902.008.176.640.000 — já tem 19 dígitos, e é aproximadamente aqui que os erros de arredondamento começam a aparecer numa calculadora de precisão dupla comum.

A ferramenta faz cada passo da multiplicação com aritmética inteira exata, mostra o desenvolvimento passo a passo (n × (n−1) × ... até um limite configurável), o número exato de dígitos, e uma notação científica aproximada só para facilitar a leitura — nunca como substituto do valor exato.

Exemplos reais: de 10! a 100!

Resposta rápida100! tem exatamente 158 dígitos e vale aproximadamente 9,332621544×10^157. Já 10! é um número muito mais simples: 3.628.800.

A tabela seguinte mostra alguns valores de referência (calculados com BigInt, portanto exatos) para se ter uma ideia de quão depressa o fatorial cresce:

Exemplos de fatorial e número de dígitos (valores exatos)
nn!Dígitos
51203
103.628.8007
151.307.674.368.00013
202.432.902.008.176.640.00019
50≈3,041×10^6465
100≈9,3326×10^157158

Um pormenor curioso: o número de zeros finais de n! segue a fórmula de Legendre (⌊n/5⌋+⌊n/25⌋+...). Por exemplo, 100! termina exatamente em 24 zeros — o separador principal da calculadora mostra este valor automaticamente junto ao resultado.

Fatorial duplo e subfatorial: dois conceitos diferentes

Resposta rápidaO fatorial duplo (n!!) multiplica números que descem de 2 em 2 (7!!=7×5×3×1=105). O subfatorial (!n), ou número de derangement, conta quantas permutações de n elementos deixam todos fora do seu lugar original (!4=9).
Exemplo prático de subfatorial: imagina 4 cartas endereçadas a 4 pessoas, mas colocadas ao acaso em 4 envelopes. !4 = 9 diz-nos que existem 9 maneiras de as distribuir de modo que ninguém receba a sua própria carta. É um cálculo clássico de combinatória, com aplicação em teoria da probabilidade.

A calculadora de fatorial disponibiliza separadores próprios para ambos, além de um separador «Decimal (x!)» que usa a função Gama (x! = Γ(x+1)) para calcular fatoriais de números não inteiros — por exemplo, 0,5! ≈ 0,8862.

Permutações e combinações: onde o fatorial aparece na prática

Resposta rápidaA permutação (nPr = n!/(n−r)!) conta ordenações onde a ordem importa; a combinação (nCr = n!/(r!×(n−r)!)) conta seleções onde a ordem não importa. Ambas dependem diretamente de um cálculo de fatorial exato.

Exemplo hipotético: numa corrida com 10 participantes, o número de formas possíveis de preencher o pódio (1º, 2º e 3º lugar) é uma permutação — nPr(10,3) = 720. Já escolher 3 pessoas de um grupo de 10 para formar uma comissão, sem distinguir a ordem, é uma combinação — nCr(10,3) = 120. A calculadora inclui mini-ferramentas dedicadas a ambos os cálculos, além de uma opção para comparar ou fazer aritmética entre dois fatoriais diferentes (soma, subtração, multiplicação ou divisão de n! e m!).

Precisas de calcular um fatorial exato agora?

n!, fatorial duplo, subfatorial, decimal (Gama), permutações e combinações — tudo com BigInt, grátis e instantâneo.

Experimentar a Calculadora de Fatorial →

Perguntas frequentes

Porque é que uma calculadora normal falha a partir de 20!?
Porque o tipo Number do JavaScript (e de muitas outras linguagens) só representa inteiros com exatidão até cerca de 2^53. Esse limite é ultrapassado por volta de 18!–19!, e a partir de 171! um Number normal faz mesmo overflow para infinito. Para obter o valor exato de 20! em diante é preciso usar aritmética de precisão arbitrária, como o BigInt.
Quantos dígitos tem o fatorial de 100?
100! tem exatamente 158 dígitos e é aproximadamente igual a 9,332621544×10^157. Este valor pode ser confirmado instantaneamente na calculadora de fatorial, introduzindo 100 no separador «n!».
Qual é a diferença entre fatorial duplo e subfatorial?
O fatorial duplo (n!!) multiplica números que diminuem de 2 em 2 (ex. 7!!=7×5×3×1=105). O subfatorial (!n, ou número de derangement) conta as permutações de n elementos em que nenhum fica na posição original (ex. !4=9). São conceitos distintos, ambos úteis em combinatória, e ambos estão disponíveis como separadores próprios na calculadora.
Como se usa o fatorial para calcular permutações e combinações?
A permutação nPr = n! / (n−r)! conta ordenações onde a ordem importa (ex. pódio de uma corrida). A combinação nCr = n! / (r! × (n−r)!) conta seleções onde a ordem não importa (ex. escolher membros de uma equipa). Ambas dependem diretamente do valor exato do fatorial, por isso um cálculo de n! com overflow também estraga o resultado de nPr e nCr.
É possível calcular o fatorial de um número decimal?
Sim, através da função Gama, que generaliza o fatorial a números reais: x! = Γ(x+1). Por exemplo, 0,5! = √π⁄2 ≈ 0,8862. Este cálculo já não usa BigInt (porque o resultado não é inteiro), mas sim uma aproximação numérica com cerca de 10 dígitos significativos de precisão.

Guias relacionados

Nota metodológica: os exemplos numéricos neste artigo (tabela de fatoriais, exemplo de pódio/comissão) servem apenas para fins ilustrativos e educativos. Este conteúdo é informativo e não substitui verificação própria em contextos académicos ou profissionais que exijam precisão certificada.