ForHosting KIT · Ferramentas para dev

Verificador de primos de Mersenne com Lucas-Lehmer

Este verificador recebe um expoente primo p e determina se 2^p - 1 é primo. Ele usa Lucas-Lehmer, o teste determinístico próprio para números de Mersenne, e retorna o número exato, a quantidade de iterações e o resíduo final.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Primeiro, o expoente é validado, pois um expoente composto não pode produzir um primo de Mersenne. Essa regra separa uma solicitação inválida de um teste válido que conclui que o número é composto.

Escolha e valide o expoente

Informe um expoente inteiro p entre 2 e 10,000. O verificador aceita o campo p e o alias exponent, inclusive como texto inteiro em clientes orientados a texto. Antes de construir o número, ele confirma por divisão experimental determinística que p é primo. Essa é uma condição matemática, e não apenas uma otimização: se p for composto, 2^p - 1 terá uma fatoração algébrica. Portanto, esse caso gera erro de entrada, não um resultado falso. Assim, falso significa que um expoente primo foi testado corretamente, enquanto um erro informa que a solicitação não pertence ao domínio de Lucas-Lehmer. Decimais, campos ausentes, listas, textos não numéricos e valores fora do limite também são rejeitados.

Entenda o cálculo de Lucas-Lehmer

Depois de validar p, o sistema forma M = 2^p - 1 com aritmética BigInt exata. Para um primo ímpar, começa com s = 4 e substitui repetidamente s por seu quadrado menos 2, reduzido módulo M. São feitas exatamente p - 2 atualizações. O teorema de Lucas-Lehmer afirma que M é primo se, e somente se, o resíduo final for zero. Não há arredondamento, testemunhas probabilísticas, serviços de rede ou semente aleatória. O caso p = 2 corresponde a M = 3, não exige passos e retorna resíduo zero. A resposta mostra o Mersenne decimal exato, a decisão, o método, as iterações e o resíduo final para que você possa reproduzir e auditar o cálculo.

Interprete e aplique o resultado

Leia is_prime como a decisão sobre o número de Mersenne, e não sobre o expoente, que já foi validado. Verdadeiro indica resíduo final zero; falso indica que p era primo, mas 2^p - 1 era composto. Isso é comum, pois um expoente primo é necessário, porém não suficiente. mersenne e final_residue são textos decimais para evitar perda de precisão em JSON. A ferramenta atende a experiências didáticas, testes de regressão, demonstrações e verificações matemáticas limitadas. Ela não é um serviço de busca ilimitada: avalia um expoente por solicitação e impõe um teto. O navegador executa a mesma lógica determinística da API, e cada chamada automatizada custa US$ 0,002. Como o resultado não muda, use cache em sistemas de alto volume.

Verificar um expoente candidato

Confirme se o número de Mersenne de um expoente primo satisfaz exatamente o critério de Lucas-Lehmer.

Ensinar recorrência modular

Demonstre como quadraturas modulares repetidas chegam a um resíduo zero ou diferente de zero.

Criar dados de teste determinísticos

Gere valores, contagens de iteração e resíduos estáveis para validar outra implementação.

O que acontece se p for composto?

A solicitação retorna erro de entrada inválida porque p precisa ser primo.

Um expoente primo garante um primo de Mersenne?

Não. Ele é necessário, mas não suficiente; o resíduo de Lucas-Lehmer fornece a decisão final.

Por que o número e o resíduo são textos?

Eles podem exceder o intervalo inteiro exato de JSON; textos decimais preservam todos os dígitos.

O teste é probabilístico?

Não. Lucas-Lehmer é determinístico para números de Mersenne com expoentes primos.

Quanto custa uma verificação pela API?

Cada solicitação custa US$ 0,002. A versão no navegador usa o mesmo cálculo puro.

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.

POSThttps://api.kit.forhosting.com/numth/mersenne-prime-check

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/numth/mersenne-prime-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"p":31}'
{
  "p": 31
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.mersenne_prime_check",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

min_p2
max_p10000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →