Verificador de superprimo
O 11 é o quinto primo e o 5 é primo, então o 11 é superprimo; o 7 é o quarto primo e o 4 não é. Digite um número para ver o lugar dele entre os primos e se esse lugar também é primo. 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
- 11
- Índice
- 5
Um superprimo, também chamado superprimo ou primo de índice primo, é um número primo cuja posição na sequência de todos os primos é, ela própria, um primo. Os primos ordenados começam em dois, três, cinco, sete, onze, treze e dezessete; seus índices (a partir de um) vão de um a sete. Os índices dois, três, cinco e sete são primos, portanto três, cinco, onze e dezessete são superprimos, enquanto dois (índice um) e sete (índice quatro) são apenas primos comuns. Este verificador aceita um único inteiro n. Quando n é primo a resposta devolve o índice de n e se esse índice é primo. O algoritmo é um crivo determinístico, sem rede, aleatoriedade ou relógio.
O que é um superprimo e como o veredito é formulado
Um superprimo se define por duas condições de primalidade aninhadas. Primeiro, n precisa ser primo: não tem divisor positivo além de um e de si mesmo. Segundo, se n é o k-ésimo primo na sequência crescente usual —p um vale dois, p dois vale três, p três vale cinco, p quatro vale sete, p cinco vale onze, e assim por diante—, então k também precisa ser primo.
O índice k é exatamente o valor da função de contagem de primos π(n) sempre que n é primo, porque π(n) conta quantos primos são menores ou iguais a n, e n ocupa essa última vaga. A sequência de superprimos começa portanto em três, cinco, onze, dezessete, trinta e um, quarenta e um, cinquenta e nove, sessenta e sete, oitenta e três, cento e nove: são os primos nos índices primos dois, três, cinco, sete, onze, treze, dezessete, dezenove, vinte e três e vinte e nove.
Observe que dois, igual a p um, fica de fora porque um não é um índice primo, e que sete, igual a p quatro, fica de fora porque quatro é composto.
Contrato de entrada, limites e como o índice é calculado
Depois de aceitar o inteiro, o motor primeiro testa se n é primo por divisão por tentativa em uma roda de seis passos. Se esse teste falhar, a solicitação é rejeitada com uma mensagem de que n não é primo; essas falhas não são cobradas. Se n é primo, o motor executa o crivo de Eratóstenes no intervalo de zero até n, conta quantos inteiros sem marca ficam em ou abaixo de n e trata essa contagem como o índice k a partir de um.
Um segundo teste por tentativa decide então se k é primo. Prefira um verificador de primo dedicado quando só precisar de um sim ou não sobre n, e uma calculadora do n-ésimo primo quando já souber o índice e quiser o primo em si. Esta página responde à pergunta combinada: dado um primo, o índice dele também é primo?
Onde um verificador de superprimo agrega valor
Salas de aula e treinadores de olimpíadas usam um verificador de superprimo para que aprendizes classifiquem primos de índice primo sem montar um crivo à mão nem confiar em uma lista opaca na internet. Geradores de prova precisam de um oráculo determinístico que marque compostos como entrada inválida em vez de devolver false em silêncio, porque um corretor defeituoso poderia tratar essa bandeira como classificação bem-sucedida de um não primo.
Cadernos que filtram uma coluna de primos candidatos até restarem superprimos podem chamar o contrato uma vez por célula e guardar o índice devolvido para uma coluna de auditoria. Combine esta ferramenta com um verificador de primo quando quiser classificar compostos em vez de rejeitá-los, e com uma calculadora do n-ésimo primo quando quiser percorrer a sequência por índice em vez de testar um candidato que você já tem em mãos.
Casos de uso
Classificação em sala de primos de índice primo
Deixe o estudante enviar um primo n e ver tanto o índice k quanto se k é primo, para que o veredito de superprimo seja explicado, e não apenas anunciado.
Filtrar uma lista de primos até restarem superprimos
Percorra uma coluna de primos candidatos, conserve aqueles cujo índice é primo e armazene o índice devolvido ao lado de cada valor retido para auditoria.
Perguntas frequentes
O que é um superprimo?
Um superprimo (também chamado primo de índice primo) é um primo n que ocupa uma posição prima na sequência de primos. Se n é o k-ésimo primo, n é superprimo exatamente quando k é primo.
O 2 é um superprimo?
Não. Dois é o primeiro primo, então o índice dele é um, e um não é primo. Três é o menor superprimo.
Como o índice é calculado?
Quando n é primo o índice é π(n), a quantidade de primos menores ou iguais a n. O motor os conta com o crivo de Eratóstenes em 0…n e depois testa se essa contagem é prima.
O 7 é um superprimo?
Não. O 7 é primo, mas ocupa o quarto lugar na lista 2, 3, 5, 7, e o 4 não é primo, então o 7 é um primo comum e não um superprimo.
Por que o 11 é um superprimo?
Contando os primos 2, 3, 5, 7 e 11, o número 11 fica no quinto lugar. Como o 5 também é primo, as duas condições se cumprem e o 11 é superprimo.
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/super-prime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":11}'const res = await fetch("https://api.kit.forhosting.com/numth/super-prime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 11
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/super-prime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 11
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/super-prime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":11}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":11}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/super-prime", 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": 11
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.super_prime",
"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
max_n | 1000000 |
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
Quando n não é primo a tarefa falha com invalid_input, porque a propriedade se define só para primos.
O que é um superprimo e como o veredito é formulado
Este verificador aplica essa definição com rigor: um n composto é rejeitado com invalid_input em vez de respondido como não superprimo, de modo que quem chama não confunda «quatro não é primo» com «sete é primo, mas não superprimo». O corpo de sucesso sempre nomeia n, o booleano super_prime, o inteiro index e o booleano index_prime. Quando a chamada acerta, super_prime e index_prime guardam o mesmo valor; os dois são mantidos para que uma página didática imprima o teste do índice ao lado do veredito sem recalcular π(n) por conta própria.
Contrato de entrada, limites e como o índice é calculado
Envie por POST um corpo JSON com o campo inteiro obrigatório n, ou use os aliases number, value ou p. O valor pode chegar como número JSON, cadeia de dígitos decimais ou bigint; frações, booleanos, cadeias vazias, notação científica e valores fora do intervalo de dois a um milhão falham com invalid_input nomeando o campo. O teto publicado mantém o crivo em um array tipado pequeno para que o caminho gratuito do navegador fique instantâneo e o isolamento do Worker nunca percorra um intervalo ilimitado. Sem testemunhas aleatórias de Miller–Rabin, sem sementes de relógio e sem tabelas externas: o mesmo n produz sempre o mesmo objeto, por isso os exemplos de referência podem fixar o JSON exato.
Onde um verificador de superprimo agrega valor
Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002, sem tokens de modelo e sem rede de saída, e a validação falha não consome saldo. Mantenha n um inteiro de pelo menos dois e no máximo o milhão publicado, trate invalid_input como correção do cliente e não como nova tentativa, e armazene tanto o índice quanto a bandeira super_prime se precisar explicar por que um primo foi aceito ou recusado.
Casos de integração
Fixtures determinísticas para olimpíadas e OEIS
Fixe superprimos conhecidos como onze e dezessete, e contraexemplos como sete, em testes unitários sem embutir um despejo estático da sequência.
Perguntas técnicas
Por que um n composto falha em vez de devolver false?
Superprimos se definem só para primos. Um composto como nove não é candidato, então a tarefa falha com invalid_input em vez de um corpo de sucesso com super_prime false. Isso separa «não é primo» de «é primo, mas não superprimo».
Quanto custa o verificador de superprimo?
A ferramenta do navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.