Calculadora de fatorial
5! é 120 e 10! é 3628800. Digite um inteiro de 0 a 5000 e receba o fatorial exato com todos os algarismos, nunca um valor arredondado ou aproximado, pronto para permutações, combinações e exercícios de probabilidade. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- N
- 5
- Valor
- 120
- Produto
- 120
O fatorial é o produto de todos os inteiros positivos até n, escrito n! e definido para todo inteiro não negativo, com a convenção de produto vazio de que o fatorial de zero vale um. Aparece em permutações, combinações, séries de Taylor, modelos de probabilidade e inúmeros exercícios de programação em que a resposta deve ser exata e não aproximada. Esta calculadora aceita um inteiro não negativo n e devolve o fatorial exato como string decimal calculada com aritmética BigInt, de modo que valores muito além dos limites de ponto flutuante ou inteiros seguros permanecem corretos dígito a dígito. Entradas negativas e não inteiros são rejeitados com um erro de validação claro em vez de uma resposta silenciosamente errada ou uma aproximação arredondada.
Como o fatorial de n é definido e calculado
O fatorial de um inteiro não negativo n é o produto de todos os inteiros positivos de um até n. Por definição o produto vazio para n igual a zero é um, assim o fatorial de zero é um e o de um também é um.
A sequência continua com dois fatorial igual a dois, três igual a seis, quatro igual a vinte e quatro, cinco igual a cento e vinte, seis igual a setecentos e vinte, dez fatorial igual a três milhões seiscentos e vinte e oito mil e oitocentos, e o crescimento é super-exponencial no sentido de que cada passo multiplica por um fator maior.
Esta implementação nunca usa aproximação em ponto flutuante, atalhos de Stirling nem bibliotecas de função gama: parte do produto um e multiplica inteiros sucessivos de dois até n com BigInt para que cada dígito intermediário e final seja exato como inteiro. O caminho é totalmente determinístico—sem sementes aleatórias, sem relógios, sem rede e sem deriva de modelo—assim o mesmo n sempre produz a mesma string.
Onde fatoriais exatos aparecem no trabalho real
Educadores de probabilidade e combinatória precisam de n! ao contar permutações de n objetos distintos, ao construir coeficientes binomiais como n! sobre k! vezes (n menos k)!, e ao ilustrar quão rápido funções de contagem crescem em slides e gabaritos.
Código científico e de engenharia muitas vezes precisa de fatoriais exatos pequenos a médios para coeficientes de séries, distribuições discretas ou checagens de sanidade contra bibliotecas que passam a ponto flutuante cedo demais; uma checagem de string exata confirma implementações antes que bugs de precisão se escondam em sistemas maiores. Demos de produto e preparação de entrevistas costumam mostrar uma tabela curta de fatoriais; calcular n! em uma chamada alinha demos interativas com os livros-texto.
Se mais tarde você precisar de fatorial duplo, multifatorial, subfatorial ou a função gama para argumentos não inteiros, trate-os como intenções de busca separadas em vez de sobrecarregar esta página de calculadora.
Casos de uso
Ensinar permutações e crescimento
Mostre aos alunos a sequência fatorial como strings exatas para que termos grandes permaneçam corretos e 0!=1 até 10!=3628800 coincida com as tabelas do livro.
Checagens de bibliotecas e DP
Confirme auxiliares de fatorial, intermediários binomiais ou coeficientes de séries contra um produto BigInt confiável antes de publicar código numérico.
Perguntas frequentes
O que é o fatorial de n?
n! é o produto 1×2×…×n para um inteiro não negativo n, com 0! definido como 1. Esta ferramenta devolve esse produto exato como string decimal.
Por que o produto é uma string em vez de um número?
Os fatoriais ultrapassam os inteiros seguros de JavaScript em 21!. Strings decimais mantêm cada dígito exato para n grandes.
O que acontece se n for negativo ou não inteiro?
O fatorial aqui só é definido para inteiros não negativos; negativos e decimais são rejeitados.
0! é permitido?
Sim. O fatorial de zero vale 1 sob a definição padrão de produto vazio. Apenas n negativo e não inteiros são rejeitados.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/factorial-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/math/factorial-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/factorial-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/factorial-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/factorial-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"n": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.factorial_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min_n | 0 |
max_n | 5000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A ferramenta gratuita do navegador e a API paga compartilham uma única função pura, assim demos de lição de casa e pipelines automatizados nunca divergem em silêncio no mesmo n.
Como o fatorial de n é definido e calculado
Devolver o produto como string decimal mantém honestos os consumidores JSON: os fatoriais saem do intervalo de inteiros seguros dos números JavaScript ordinários no fatorial de vinte e um, e um tipo numérico arredondaria em silêncio. Os limites mantêm n entre zero e cinco mil para que a latência do pior caso continue adequada a uma ferramenta gratuita no navegador e a um caminho Worker leve, cobrindo ao mesmo tempo necessidades de competições, sala de aula e pipelines de produtos exatos grandes.
O que você envia e o que recebe de volta
O erro para n negativo declara que o fatorial está definido para inteiros não negativos, para que clientes de formulário e scripts possam corrigir a entrada sem adivinhar. Em caso de sucesso a resposta sempre inclui o n normalizado junto com product e value como o fatorial exato de n escrito em decimal (ambos os campos carregam a mesma string de dígitos por conveniência). Forneça um inteiro não negativo obrigatório no campo n, ou os aliases number ou value. O valor deve ser um inteiro de zero a cinco mil inclusive; campos ausentes, não inteiros, decimais e qualquer n abaixo de zero são rejeitados com invalid_input e não são cobrados. Verificações de exemplo: n igual a zero produz product um; n igual a um produz product um; n igual a cinco produz product cento e vinte; n igual a dez produz product três milhões seiscentos e vinte e oito mil e oitocentos; n igual a menos um produz invalid_input; n igual a três ponto cinco produz invalid_input. O contrato é JSON estável adequado a testes unitários, demos de sala de aula e pipelines em lote. O preço das chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo pré-pago.
Onde fatoriais exatos aparecem no trabalho real
Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.
Casos de integração
Fixtures de competições e lições
Gere strings decimais exatas de n! para problemas de olimpíada, exercícios de programação e gabaritos automatizados que rejeitam deriva em ponto flutuante.