Verificador de primo
Verifica se um inteiro é primo e, se não for, mostra o menor divisor que prova isso: 97 sai primo, sem nenhum divisor. Fatores pequenos aparecem na hora e primos grandes são confirmados por um teste fixo e exato. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
O verificador de primo decide se um inteiro n é primo e, quando não é, retorna o menor divisor que prova que o número é composto. Ele combina a clássica divisão por tentativa com um teste determinístico de Miller–Rabin, para que fatores pequenos apareçam de imediato e primos grandes sejam confirmados sem uma busca exaustiva de todo candidato até a raiz quadrada. Você envia um único número inteiro maior ou igual a dois e recebe um sinalizador claro de primalidade, o n original e ou null ou o menor divisor — aritmética determinística sem testemunhas aleatórias e sem consulta de rede.
Como a divisão por tentativa e Miller–Rabin trabalham juntas
A divisão por tentativa é a técnica de primalidade mais antiga: testar se candidatos sucessivos dividem n, começando por dois e três e continuando ao longo de uma roda de seis passos que só verifica números da forma 6k±1. Assim que um divisor aparece, o número é composto e esse divisor é o menor — exatamente o que muitas ferramentas de ensino, problemas de programação e verificações de qualidade de dados precisam.
Quando n é modesto, completar a tentativa até a raiz quadrada inteira basta para provar a primalidade também, porque todo composto tem um fator no máximo igual à sua raiz quadrada. Para inteiros maiores, o verificador primeiro procura fatores pequenos com o mesmo laço de tentativa e depois roda uma suíte determinística de Miller–Rabin com bases fixas conhecidas por decidir a primalidade corretamente para todo inteiro na faixa segura do JavaScript. Se Miller–Rabin informa primo depois de nenhum fator pequeno ter sido encontrado, o resultado é primo.
Onde usar um verificador de primo em fluxos reais
Educadores e estudantes usam um verificador de primo confiável para conferir exercícios, gerar contraexemplos e mostrar por que um número falha exibindo seu menor divisor em vez de um simples false. Desenvolvedores de aplicações o chamam quando uma chave de produto, semente de quebra-cabeça ou parâmetro criptográfico de brinquedo precisa ter forma de primo antes de trabalho posterior, pegando erros de digitação como valores pares ou múltiplos óbvios sem montar um sistema completo de álgebra computacional.
Engenheiros de dados filtram colunas numéricas em importações: qualquer suposto “identificador primo” que falhe aqui é rejeitado cedo com um fator concreto para o log de auditoria. Prefira esta ferramenta quando a pergunta for estritamente “n é primo e, se não, qual é o menor divisor?” — não quando você precisa de fatoração completa, certificados de primalidade para inteiros enormes de vários milhares de bits, ou testes probabilísticos com listas de testemunhas customizadas.
Casos de uso
Exercícios e demonstrações de ensino
Mostre aos estudantes se um número é primo e exiba de imediato o menor divisor quando ele é composto, para que o modo de falha seja concreto em vez de abstrato.
Validar valores de configuração com forma de primo
Rejeite parâmetros pares ou obviamente compostos em chaves de produto, sementes de quebra-cabeça ou configurações de criptografia de brinquedo antes que entrem num pipeline mais longo.
Auditar colunas numéricas que alegam ser primos
Varra uma importação de supostos identificadores primos, sinalize os compostos e anexe o menor divisor à trilha de auditoria de cada linha que falhar.
Perguntas frequentes
Quanto custa?
A mesma verificação também roda grátis no seu navegador nesta página.
Quais números são aceitos?
Inteiros maiores ou iguais a 2, até o máximo de inteiro seguro publicado.
O teste de Miller–Rabin é probabilístico aqui?
Não. As bases são fixas e determinísticas para todo inteiro na faixa suportada, então o mesmo n sempre produz o mesmo resultado.
Isto fatora n completamente?
Não. Ele apenas informa se n é primo e, quando composto, o único menor divisor — não a lista completa de fatores primos.
Por que aparece um divisor quando o número não é primo?
O menor divisor maior que 1 é a prova de que o número é composto. Qualquer número par maior que 2, por exemplo, devolve o 2, então você vê exatamente por que ele falhou em vez de um simples não.
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/numth/prime-checker \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":97}'const res = await fetch("https://api.kit.forhosting.com/numth/prime-checker", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 97
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/prime-checker",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 97
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/prime-checker", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":97}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":97}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/prime-checker", 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": 97
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.prime_checker",
"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 que o verificador retorna e quando rejeita a entrada
Toda chamada bem-sucedida responde três perguntas relacionadas de uma vez: n é primo, qual valor foi testado e — se o número for composto — qual é o menor divisor positivo maior que um. Essa previsibilidade importa quando você conecta o verificador a um formulário, a uma ferramenta de linha de comando ou a um pipeline em lote que deve parar em dados ruins, em vez de inventar uma resposta. A resposta é um pequeno objeto JSON com um sinalizador booleano prime, o inteiro n ecoado de volta como número, o campo smallest_divisor (null para primos, um inteiro concreto para compostos) e um rótulo de método que registra se a decisão veio principalmente da divisão por tentativa ou de Miller–Rabin. Entrada ausente, fracionária, não numérica ou estritamente menor que dois é rejeitada com invalid_input antes de qualquer aritmética rodar, de modo que um valor de ponto flutuante como 9,5 ou um zero nunca produza uma afirmação enganosa de primalidade. As mesmas regras valem no caminho gratuito do navegador e na API: um contrato, um conjunto de mensagens de erro e o mesmo resultado estruturado. Use este endpoint sempre que precisar de um sim-ou-não auditável sobre primalidade mais um fator explicativo, não de um palpite probabilístico ou de uma fatoração longa de cada divisor.
Como a divisão por tentativa e Miller–Rabin trabalham juntas
Se informa composto, a divisão por tentativa continua a partir do limite anterior até que o menor fator seja recuperado, de modo que a API nunca diz “composto” sem também nomear o menor divisor.
Onde usar um verificador de primo em fluxos reais
Como a capacidade é tier A, você pode colar um número nesta página e rodar a lógica idêntica grátis no navegador; automatize o mesmo contrato depois a US$ 0,002 por requisição quando conectar tarefas em estilo POST a scripts ou SDKs. Mantenha n um inteiro de pelo menos dois dentro da faixa segura publicada, trate invalid_input como uma correção do cliente em vez de uma nova tentativa, e guarde o campo method retornado se precisar explicar qual caminho de algoritmo decidiu o caso.
Perguntas técnicas
O que é retornado para um número composto?
prime é false e smallest_divisor é o menor inteiro maior que 1 que divide n. Para primos, smallest_divisor é null.