Verificador de primo de Wilson
O 5 é um primo de Wilson: 4! + 1 = 25, divisível exatamente por 5², com resto 0. Digite um primo para ver o resto exato e se ele cumpre essa condição tão rara; só se conhecem o 5, o 13 e o 563. 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
- Potência (W)
- 5
- p ao quadrado
- 25
- Resto
- 0
- Critério
- (p-1)! ≡ -1 (mod p^2)
O verificador de primo de Wilson responde a uma pergunta modular precisa da teoria elementar dos números: dado um primo p, o quadrado de p divide o fatorial de (p menos um) mais um? De forma equivalente, (p−1)! é congruente a −1 módulo p²? O teorema de Wilson já garante que todo primo satisfaz a mesma congruência módulo p, de modo que a condição de primo de Wilson é um reforço genuíno do módulo, e não um novo teste de primalidade. Forneça um primo p e a ferramenta devolve p, p ao quadrado, o resto exato de (p−1)! Os pequenos primos de Wilson clássicos são cinco e treze; quinhentos e sessenta e três é o único outro primo de Wilson conhecido e ainda cabe confortavelmente no intervalo suportado. O motor multiplica inteiros sucessivos sob um módulo BigInt, nunca amostra aleatoriedade, nunca lê o relógio e nunca sai do processo por uma chamada de rede.
O que é um primo de Wilson e o que a resposta contém
Um primo de Wilson é um número primo p tal que o quadrado de p divide o fatorial de (p menos um) mais um. Em linguagem modular a mesma afirmação se lê (p−1)! ≡ −1 (mod p²).
O teorema de Wilson diz que para todo primo p já se tem (p−1)! ≡ −1 (mod p), de modo que o fatorial mais um é sempre divisível por p; a condição de Wilson pergunta se essa divisibilidade se eleva do módulo p até o módulo p².
Os únicos primos de Wilson conhecidos na literatura são cinco, treze e quinhentos e sessenta e três; buscas exaustivas bem além de um milhão não encontraram mais exemplos, o que torna a lista de três membros um exemplo favorito de quão raros os levantamentos modulares podem ser. ≡ -1 (mod p^2). Se você só precisa de primalidade ordinária, use um verificador de primos dedicado; esta página responde à pergunta modular de Wilson com um resto explícito.
Como as entradas são lidas e como o fatorial modular permanece exato
Sinais de mais iniciais opcionais são permitidos em valores positivos; espaços embutidos, prefixos hexadecimais e notação exponencial são rejeitados para que uma célula errada não se torne um indicador incorreto. Internamente o motor primeiro prova a primalidade por divisão de tentativa até a raiz quadrada de p, o que é barato nessa escala e totalmente determinístico.
Em seguida percorre o produto dois vezes três vezes quatro até p menos um, reduzindo módulo p ao quadrado após cada multiplicação com aritmética BigInt para que valores intermediários nunca transbordem uma palavra de máquina fixa nem derivem para ponto flutuante. O resto final desse produto mais um módulo p ao quadrado é convertido de volta a um número JavaScript seguro—p ao quadrado é no máximo um trilhão no intervalo permitido—e comparado com zero.
Onde as verificações de Wilson se encaixam no estudo, demos e código
Estudantes encontram primos de Wilson ao estudar o teorema de Wilson, a aritmética modular e especializações raras de primos junto a primos de Sophie Germain, safeprimes e quocientes de Wilson. Professores podem gerar chaves de resposta para folhas de exercícios sem confiar em apps de calculadora opacas que escondem o passo do produto modular ou aceitam compostos em silêncio.
Desenvolvedores usam o mesmo contrato para validar dados de amostra de bibliotecas de teoria dos números, para condicionar testes de propriedades em geradores de primos aleatórios, ou para pré-verificar que uma semente de demonstração é um dos três primos de Wilson clássicos antes de uma apresentação ao vivo. A prática de contestações frequentemente precisa de uma fonte rápida e offline de respostas de Wilson para checar soluções sem baixar tabelas OEIS nem reimplementar redução modular fatorial com BigInt sob pressão de tempo.
Combine com um verificador de primos ordinário quando precisar só de primalidade, com um verificador de primos gêmeos quando precisar de primos ímpares consecutivos, e com ferramentas de exponenciação modular quando precisar de pow-mod geral em vez de um produto fatorial específico de Wilson.
Casos de uso
Classificação de lições e contestações
Decida se primos dados são primos de Wilson em folhas e checagens de contestação calculando ((p−1)!+1) mod p² sem fatorial à mão.
Ensino de elevações do teorema de Wilson
Mostre aos alunos como a congruência de Wilson módulo p se reforça para módulo p² enquanto eles mudam p ao vivo no navegador sem custo.
Perguntas frequentes
O que acontece se p não for primo?
Primos de Wilson se definem só para primos; compostos, 1 e não inteiros são rejeitados com mensagem clara.
Quais primos são primos de Wilson?
Os únicos primos de Wilson conhecidos são 5, 13 e 563. Esta ferramenta recalcula o critério modular para qualquer primo no intervalo em vez de consultar uma lista fixa.
O algoritmo é aleatório?
Não. Usa divisão de tentativa determinística para primalidade e multiplicações modulares BigInt exatas para (p−1)! mod p². O mesmo p sempre produz o mesmo resto e o mesmo indicador.
Em que difere de um verificador de primos simples?
Um verificador de primos só decide a primalidade. Esta ferramenta exige um primo e informa se p² divide (p−1)! +1, devolvendo o resto modular e um booleano de primo de Wilson.
Por que o 5 é um primo de Wilson?
Porque 4! vale 24, e 24 + 1 = 25. O quadrado de 5 também é 25, então a divisão é exata e o resto é 0, que é justamente a condição de Wilson.
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/wilson-prime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p":5}'const res = await fetch("https://api.kit.forhosting.com/numth/wilson-prime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/wilson-prime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/wilson-prime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/wilson-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
{
"p": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.wilson_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.
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
+1 módulo p², um indicador booleano wilson_prime que é true somente quando esse resto é zero, e uma string de critério curta que documenta a congruência.
O que é um primo de Wilson e o que a resposta contém
Compostos são excluídos por definição: a propriedade só se enuncia para primos, e este verificador rejeita qualquer entrada não prima com invalid_input em vez de devolver um falso negativo que confunda uma chave de lição. Em uma chamada bem-sucedida a resposta sempre inclui o primo p analisado, o inteiro p_squared, o resto não negativo de (p−1)! +1 módulo p_squared, o booleano wilson_prime igual a true exatamente quando esse resto é zero, e a string de critério (p-1)! Um primo que falha a congruência ainda é um sucesso válido com wilson_prime false—sete e onze são contraexemplos cotidianos—, de modo que a ausência da propriedade de Wilson nunca é um erro. Campos ausentes, não inteiros, frações, notação científica, valores fora do intervalo de dois a um milhão e inteiros compostos falham com invalid_input e uma mensagem clara. Esse contrato mantém estáveis os testes dourados, torna o cache seguro e evita desacordo silencioso entre a definição de um livro-texto e uma resposta de API.
Como as entradas são lidas e como o fatorial modular permanece exato
O campo preferido é p como inteiro JSON, mas strings decimais e os aliases prime, n ou value são aceitos para que formulários, planilhas e query strings compartilhem um único contrato. O domínio suportado é o intervalo inteiro fechado de dois a um milhão: pequeno o bastante para que um produto modular linear termine rápido em um Worker ou aba do navegador, e grande o bastante para cobrir todos os primos de Wilson conhecidos mais uma faixa ampla de exemplos de sala de aula e contestação.
Onde as verificações de Wilson se encaixam no estudo, demos e código
Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão—exploração interativa gratuita e uma API paga idêntica—corresponde ao restante do catálogo tier-A do KIT e permite ir de uma demo de sala de aula a um pipeline automatizado sem mudar o resultado matemático.
Casos de integração
Fixtures determinísticas de biblioteca
Afirme que 5, 13 e 563 são primos de Wilson e que primos próximos não são, com restos reproduzíveis para testes unitários e CI.
Perguntas técnicas
Quanto custa o verificador de primo de Wilson?
É gratuito no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.