Fatoração em primos
Decomponha qualquer número inteiro a partir de 2 em fatores primos: 360 é 2³ · 3² · 5, ou 2, 2, 2, 3, 3 e 5 um por um. As duas formas aparecem juntas, prontas para conferir a lição de casa ou multiplicar de volta. 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úmero inteiro a fatorar
- 360
- Fatores
- 2, 2, 2, 3, 3, 5
A fatoração em primos reescreve um número inteiro como um produto de potências de primos. Dado qualquer inteiro n maior ou igual a dois, esta capacidade retorna cada primo com seu expoente e uma lista plana de fatores primos em ordem crescente. O resultado é uma divisão por tentativa determinística, sem chamadas de rede, sem aleatoriedade e sem inferência de modelo. Use-a para conferir tarefas escolares, demonstrações didáticas ligadas a criptografia, entrevistas de programação ou pipelines que precisam de uma fatoração legível por máquina sem instalar um CAS.
O que a fatoração em primos retorna e por que as duas formas importam
Todo inteiro maior que um tem um multiconjunto único de fatores primos, a menos da ordem — este é o teorema fundamental da aritmética. A forma compacta agrupa primos repetidos em pares de expoente, então 360 vira 2^3 · 3^2 · 5^1 em vez de um produto longo.
A forma plana expande a mesma fatoração em uma lista ordenada como [2, 2, 2, 3, 3, 5], o que é conveniente quando você precisa multiplicar os fatores de volta, alimentar uma etapa de crivo ou exibir cada primo separadamente em uma interface. Esta capacidade retorna as duas visões em uma resposta: factorization é um array de objetos com os campos inteiros prime e exp, e factors é a lista crescente expandida.
O n original é ecoado para que quem chama possa verificar a igualdade de ida e volta multiplicando os primos elevados a seus expoentes. Como o algoritmo é puro e determinístico, o mesmo n sempre produz os mesmos arrays, o que torna confiáveis os testes de referência e as consultas em cache. Nada fica a cargo de localidade, formatação de ponto flutuante ou relógios do servidor; apenas aritmética de inteiros é usada até a fatoração se completar.
Usos práticos em educação, engenharia e automação
Professores e estudantes usam a fatoração em primos para conferir tarefas, ilustrar a fatoração única e comparar resultados feitos à mão com um oráculo de máquina. Engenheiros de software embutem a chamada em scripts de correção, juízes de desafios de programação e testes de propriedade que verificam se o produto de p^e é igual a n. Equipes de dados às vezes precisam de métricas do tipo radical ou omega(n) — contar primos distintos ou a multiplicidade total de primos — que saem dos arrays retornados sem reimplementar a fatoração.
Laboratórios de segurança e de treinamento CTF mostram como um n pequeno fatora instantaneamente enquanto grandes semiprimos não, reforçando por que os módulos RSA precisam ser enormes; esta ferramenta é intencionalmente limitada a inteiros seguros, então ensina o conceito sem fingir ser um serviço completo de fatoração de inteiros.
Casos de uso
Conferência de tarefas e tutoria
Os estudantes enviam n e comparam os primos e expoentes retornados com a fatoração feita à mão antes de entregar o trabalho.
Correção automatizada e entrevistas de programação
Os juízes multiplicam p^e da resposta e verificam a igualdade com n, capturando expoentes errados por uma unidade sem ruído de ponto flutuante.
Demonstrações didáticas de teoria dos números
Mostre a fatoração única ao vivo: escolha compostos, primos e potências de primos e exiba as formas compacta e plana lado a lado.
Perguntas frequentes
O que é a fatoração em primos de um número?
É o produto único de potências de primos que, multiplicado de volta, resulta naquele inteiro. Por exemplo, 12 = 2^2 · 3, retornado aqui como pares de factorization e a lista plana [2, 2, 3].
Quais entradas esta calculadora aceita?
Apenas números inteiros n maiores ou iguais a 2, dentro da faixa de inteiros seguros do JavaScript.
Qual é a diferença entre factorization e factors?
factorization agrupa cada primo com seu expoente ({prime, exp}). factors expande essas potências em um multiconjunto ordenado de inteiros primos.
A ferramenta fatora módulos criptográficos?
Não. Ela usa divisão por tentativa em inteiros seguros e recusa n grande demais. É para educação, ferramentas e inteiros comuns — não módulos em escala RSA.
O que aparece se o número já for primo?
Aparece o próprio número com expoente um, porque um primo não tem outros fatores. A lista fica então com um único item, o que confirma de relance que o número é primo.
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/prime-factorization \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":360}'const res = await fetch("https://api.kit.forhosting.com/math/prime-factorization", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 360
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/prime-factorization",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 360
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/prime-factorization", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":360}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":360}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/prime-factorization", 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": 360
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.prime_factorization",
"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.
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
O preço da API é fixo em US$ 0,002 por requisição bem-sucedida; entradas inválidas são rejeitadas sem cobrança.
Como chamá-la e quais entradas são aceitas
O valor deve ser um número inteiro finito maior ou igual a dois. Não há flag opcional de modo: a saída sempre inclui tanto a factorization compacta quanto a lista plana factors. A divisão por tentativa fatora o dois primeiro, depois percorre candidatos ímpares até a raiz quadrada do cofator restante, então números compostos com fatores primos pequenos terminam rápido e um n primo simplesmente retorna um único par com expoente um. Envie um objeto JSON com um único campo obrigatório n. Inteiros podem chegar como números JSON ou como strings apenas de dígitos que convertem para o mesmo valor inteiro; booleanos, arrays, objetos, frações, NaN, Infinity e valores abaixo de dois são rejeitados com invalid_input e uma mensagem clara. Números maiores que o inteiro seguro máximo do JavaScript são recusados para que os resultados permaneçam exatos nos doubles de ponto flutuante IEEE usados pelo worker. Para demonstrações em sala ou na API, comece com compostos médios como 360, 1001 ou inteiros seguros no estilo 9876543210, em vez de módulos de tamanho criptográfico, que este caminho de parsing tier-A não foi projetado para atacar. Uma validação que falha nunca consome saldo pré-pago; apenas fatorações bem-sucedidas cobram a base publicada de US$ 0,002.
Usos práticos em educação, engenharia e automação
Como o navegador e a API compartilham a mesma função pura, você pode prototipar na interface web gratuita e promover o contrato idêntico para os workers de produção. Documente o formato da resposta uma vez e reutilize-o em SDKs, notebooks e automações no-code que só precisam de uma fatoração JSON estável, e não de um pacote de álgebra simbólica.
Perguntas técnicas
Quanto custa a API?
Requisições bem-sucedidas custam o preço-base publicado de US$ 0,002 por item. Erros de entrada inválida não são cobrados. A ferramenta no navegador permanece gratuita para uso interativo.