1001Ferramentas
Calculadoras

Fatorial com BigInt (n!)

Calcula n! para n até 1000 usando BigInt, exibindo o resultado completo (pode ter centenas de dígitos) e o número de dígitos.


  

Fatoriais grandes com BigInt

O fatorial dispara rápido. Em 13! você já estourou 2³² (overflow Int32), e em 21! ultrapassa 2⁶⁴ (overflow Int64). O problema no JavaScript é que o tipo Number é um float de 64 bits, que deixa de ser exato acima de Number.MAX_SAFE_INTEGER = 2⁵³ − 1. É aí que entra o BigInt, parte da linguagem desde o ES2020, com inteiros de precisão arbitrária escritos com o sufixo n (10n). Calcular o valor não tem segredo — é um loop sobre um acumulador BigInt: let r = 1n; for (let i = 2n; i <= BigInt(n); i++) r *= i;. Se você só quer ter uma noção do tamanho, a aproximação de Stirling resolve: n! ≈ √(2πn)·(n/e)ⁿ. Para dar números: 100! tem 158 dígitos e 1000! chega a 2.568.

Aplicações e contexto

Você esbarra nisso em criptografia, onde o RSA faz aritmética modular sobre inteiros enormes, e em combinatória teórica, onde o TSP por força bruta é O(n!). Aparece também na análise combinatória em ML quando se conta permutações de features, em contadores grandes apoiados em colunas BigInt de bancos de dados, e nas competições de programação — vários problemas de Codeforces e Project Euler têm respostas que não cabem em 64 bits.

Perguntas frequentes

Por que não usar Number para fatoriais grandes? Passando de 2⁵³ o resultado vem arredondado, então os últimos dígitos saem errados. O BigInt mantém todos os dígitos exatos.

BigInt é lento? Multiplicar um número de N dígitos custa O(N), ou O(N log N) nas engines que recorrem a FFT. Na prática, o V8 moderno calcula 1000! em poucos milissegundos.

Posso misturar BigInt com Number? Não. O JavaScript lança um TypeError se você tentar. É preciso converter antes, com BigInt(x) ou Number(b).

Ferramentas Relacionadas

🔀

Combinações e Permutações

Calcule combinações C(n,k) e permutações P(n,k) com fórmulas e resultados para números grandes. Essencial para análise combinatória.

Calculadora de Fatorial

Calcule n! (fatorial) de qualquer inteiro até 170 (limite de double precisão). Acima disso, exibe BigInt exato. Útil para combinatória, probabilidade e matemática discreta. Tudo no navegador.

Fatorial Grande (BigInt)

Calcule o fatorial de números grandes (n!) com precisão arbitrária usando BigInt, sem perder dígitos. Ideal para análise combinatória e probabilidade.

🎲

Arranjos A(n,k)

Calcula arranjos A(n,k), idêntico a permutações: número de sequências ordenadas de k elementos de n. Útil em probabilidade.

📊

Calculadora de Yield de Título com Cupom

Estima o yield-to-maturity aproximado de um título com cupom, valor de face, preço e prazo.

💨

Fator de Velocidade (Rolamento)

Calcula o fator de velocidade de um rolamento, A = n·d_m, a partir da rotação n (rpm) e do diâmetro médio do rolamento d_m (mm, = (D + d)/2, a média entre os diâmetros externo e interno). O fator n·d_m (frequentemente expresso em mm·rpm, ou em m/min multiplicando pelo perímetro) é o indicador-chave da SOLICITAÇÃO DE VELOCIDADE de um rolamento, e governa vários limites de aplicação. Ele determina a VELOCIDADE LIMITE de operação: cada rolamento (e cada tipo de lubrificação) tem um valor máximo de n·d_m acima do qual o aquecimento por atrito, a força centrífuga nos corpos rolantes e os efeitos dinâmicos tornam a operação inviável — lubrificação a graxa suporta valores menores, a óleo maiores, e sistemas especiais (jato de óleo, névoa) os mais altos (rolamentos de alta velocidade, como de turbinas e fusos de máquinas-ferramenta, atingem n·d_m de milhões). O fator de velocidade também influencia a escolha do tipo de rolamento (esferas suportam mais velocidade que rolos), do lubrificante e da folga interna (rolamentos rápidos podem precisar de folga maior para acomodar a dilatação térmica). Comparar o n·d_m da aplicação com o limite do rolamento é uma verificação essencial em máquinas rotativas de média e alta velocidade. Informe a rotação e o diâmetro médio.

Os resultados desta ferramenta têm caráter apenas informativo e educativo e não constituem aconselhamento profissional, financeiro, médico, jurídico, tributário ou contábil. Confirme decisões importantes com um profissional qualificado e fontes oficiais.