Resíduo potência n-ésima
Diz se um número é uma potência k-ésima módulo um primo: 2 é um quadrado módulo 7, porque 2 elevado a 3 deixa resto 1. Funciona para quadrados, cubos e qualquer potência maior, sempre com números inteiros exatos. 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
- A
- 2
- K
- 2
- Potência (W)
- 7
- A módulo
- 2
- Gcd
- 2
- Ordem do grupo
- 6
- Expoente do critério
- 3
Um inteiro a é resíduo de potência k-ésima módulo um primo p quando existe um inteiro x tal que x elevado a k é congruente a a módulo p. Essa pergunta generaliza a residualidade quadrática (o caso k igual a dois) para cubos, potências superiores e expoentes positivos arbitrários usados em teoria dos números de competições e criptografia introdutória. Esta capacidade recebe um candidato a, um expoente positivo k e um módulo primo p, reduz a ao intervalo de zero a p menos um, verifica se p é primo e aplica o critério padrão do grupo cíclico no grupo multiplicativo do corpo com p elementos. Quando a é divisível por p a resposta é sempre sim para k pelo menos um, porque zero a qualquer potência positiva é zero.
O que significa um resíduo de potência k-ésima módulo um primo
Fixe um módulo primo p e um inteiro positivo k. As classes de resíduo módulo p formam um corpo, e seus elementos não nulos formam um grupo multiplicativo cíclico de ordem p menos um. Um inteiro a não divisível por p é resíduo de potência k-ésima módulo p precisamente quando a pertence à imagem da aplicação que envia cada classe não nula x para x elevado a k.
Como o grupo é cíclico, essa imagem é o único subgrupo de índice igual ao máximo divisor comum d de k e p menos um, e a pertence a esse subgrupo se e somente se a elevado à potência (p menos um) dividida por d é congruente a um módulo p. Essa única exponenciação modular é o procedimento de decisão usado aqui.
Quando a é divisível por p, a congruência x à k congruente a a tem a solução trivial x congruente a zero para todo k pelo menos um, de modo que zero sempre é tratado como resíduo de potência k-ésima. Casos especiais recuperam ferramentas conhecidas: para k igual a dois e p primo ímpar o critério é o de Euler para residualidade quadrática, a mesma informação do símbolo de Legendre, enquanto para k igual a p menos um todo a não nulo é resíduo pelo pequeno teorema de Fermat.
Contrato de entrada, verificação de primalidade e campos de resposta
Envie os inteiros a, k e p. O expoente k deve ser pelo menos um e no máximo um trilhão. Nomes de campos opcionais nunca são preenchidos com null: o par de critério é simplesmente omitido no caso de resíduo zero.
Checagens clássicas que você pode reproduzir à mão: para a igual a dois, k igual a três e p igual a sete, o gcd de três e seis é três, então o expoente de critério é dois e dois ao quadrado é quatro módulo sete, não um; portanto dois não é resíduo cúbico módulo sete; em contraste, um sempre é resíduo de potência k-ésima para todo primo porque um a qualquer potência é um.
Não inteiros, campos obrigatórios ausentes e expoentes abaixo de um falham a validação com mensagem clara em inglês.
Onde as checagens de resíduo de potência superior aparecem no trabalho real
Programadores de competição precisam de um oráculo rápido antes de tentar extrair raízes cúbicas modulares ou de ordem superior: se o bit de resíduo for falso não faz sentido procurar x. Estudantes de criptografia verificam exercícios sobre a imagem do mapa de potência em corpos finitos, exemplos de cálculo de índice e construções didáticas que dependem de a classe de mensagem ser potência k-ésima antes de aplicar um mapa.
Pipelines de pesquisa e lição de casa que já usam símbolos de Legendre ou Jacobi para quadrados frequentemente precisam da mesma resposta sim ou não para cubos e potências superiores sem trocar de biblioteca. Se você só precisa de residualidade quadrática, as ferramentas dedicadas de resíduo quadrático e símbolo de Legendre continuam disponíveis; esta página é a decisão geral de potência k-ésima para módulos primos.
Casos de uso
Checagens de lição de casa e competições
Decida se a é potência k-ésima módulo o primo p em exercícios de teoria dos números sem escrever seu próprio pipeline de exponenciação modular e gcd.
Pré-filtro antes da extração de raízes
Rejeite não resíduos cedo em um pipeline que de outra forma tentaria algoritmos de raiz cúbica ou de ordem superior sobre um corpo primo.
Ensinar o critério do grupo cíclico
Mostre aos alunos gcd(k, p−1), o expoente de critério e a potência modular que prova ou refuta a residualidade em triplos concretos.
Perguntas frequentes
O que é um resíduo de potência k-ésima módulo um primo p?
Um inteiro a é resíduo de potência k-ésima módulo o primo p se existe um inteiro x tal que x^k ≡ a (mod p). Esta ferramenta reporta esse fato com o critério do grupo cíclico em F_p*.
Por que p precisa ser primo?
O procedimento de decisão depende do grupo multiplicativo módulo p ser cíclico de ordem p−1, o que vale para módulos primos.
Como a resposta sim ou não é calculada?
Seja d = gcd(k, p−1). Se a não é divisível por p, a é resíduo de potência k-ésima se e somente se a^((p−1)/d) ≡ 1 (mod p).
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
2 é um resíduo cúbico módulo 7?
Não. O máximo divisor comum de 3 e 6 é 3, então o teste eleva 2 à potência 2, o que dá 4 módulo 7 em vez de 1. Portanto, nenhum inteiro ao cubo deixa resto 2.
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/power-residue-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"k":3,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/power-residue-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"k": 3,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/power-residue-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"k": 3,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/power-residue-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"k":3,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"k":3,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/power-residue-check", 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
{
"a": 2,
"k": 3,
"p": 7
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.power_residue_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.
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 significa um resíduo de potência k-ésima módulo um primo
O endpoint não inventa raízes em ponto flutuante nem potências aproximadas; usa apenas aritmética modular inteira exata para que respostas de livro e testes automatizados coincidam bit a bit.
Contrato de entrada, verificação de primalidade e campos de resposta
O módulo p deve ser um primo entre dois e um trilhão inclusive; valores compostos como nove ou quinze são rejeitados com invalid_input e uma mensagem que nomeia o campo e afirma que p não é primo, de modo que essas chamadas não são cobradas. O candidato a pode ser negativo ou maior que p em valor absoluto até o mesmo limite de um trilhão; é reduzido a a_mod no intervalo semiaberto de zero inclusive a p exclusive antes do teste. Em caso de sucesso o payload sempre inclui a, k, p, a_mod, o booleano is_power_residue, o gcd de k e p menos um, o group_order igual a p menos um e uma breve string de interpretação em inglês. Quando a_mod é não nulo o payload também reporta criterion_exp igual a (p menos um) dividido por esse gcd e criterion_value igual a a_mod elevado a esse expoente módulo p, que vale um exatamente quando o bit de resíduo é verdadeiro. A mesma função pura alimenta a ferramenta gratuita do navegador e o caminho de API paga.
Onde as checagens de resíduo de potência superior aparecem no trabalho real
Professores propõem problemas como decidir se três é resíduo de quinta potência módulo onze ou listar quais classes são cubos módulo treze e querem uma resposta JSON determinística em vez de uma tabela manuscrita que pode omitir uma classe. Como a capacidade é um motor parse puro não há deriva de modelo, nem chave de API externa nem estado armazenado: o mesmo triplo sempre produz o mesmo booleano e o mesmo valor de critério. O preço da API é a base publicada de US$ 0,002 por item bem-sucedido; validação falha não consome saldo.
Perguntas técnicas
O 0 é considerado resíduo de potência k-ésima?
Sim. Para todo k ≥ 1 temos 0^k ≡ 0 (mod p), de modo que a_mod = 0 é sempre resíduo de potência e os campos do expoente de critério são omitidos.