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.