Calculadora de idempotentes módulo n
Módulo 12 existem quatro restos que não mudam ao serem elevados ao quadrado: 0, 1, 4 e 9. Digite qualquer módulo até um trilhão e receba a lista completa e ordenada, com as potências de primos que explicam quantos são. 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
- 12
- Idempotentes
- 0, 1, 4, 9
- Quantidade
- 4
- Fatores de potências de primos
- 4, 3
Um idempotente módulo n é um resíduo que permanece igual quando multiplicado por si mesmo: x ao quadrado é congruente a x módulo n. Esta calculadora devolve a lista completa e ordenada de zero até n menos um, não apenas uma contagem ou um exemplo. Ela fatora o módulo em potências de primos coprimas entre si e usa o teorema chinês do resto para construir todas as respostas exatamente. A saída também inclui esses fatores, permitindo que você examine, ensine, teste ou reutilize o resultado com facilidade em outro fluxo de aritmética modular.
O significado de um resíduo idempotente
A congruência definidora é x² ≡ x (mod n), o mesmo que afirmar que n divide x(x − 1). Zero e um sempre satisfazem a condição, pois elevar qualquer um deles ao quadrado não altera sua classe residual. Módulos compostos podem ter outras soluções, porque diferentes partes de potência prima de n podem dividir os fatores vizinhos x e x − 1.
Por exemplo, módulo doze o conjunto completo é zero, um, quatro e nove. Quatro funciona porque dezesseis difere de quatro por doze; nove funciona porque oitenta e um difere de nove por setenta e dois. O array idempotents traz apenas representantes canônicos entre zero e n menos um, sem duplicatas e em ordem numérica. count informa o tamanho da lista.
A resposta atende, portanto, a situações em que você precisa de todas as soluções, não apenas testar um candidato.
Como a lista completa é construída
Primeiro, o algoritmo decompõe n em potências primas máximas. Esses fatores são coprimos dois a dois e seu produto é n. Em uma potência prima, a congruência x² ≡ x tem exatamente duas classes: zero e um.
Pelo teorema chinês do resto, escolher zero ou um independentemente para cada fator determina uma única classe módulo n. Se n contém k primos distintos, existem assim 2^k idempotentes. A calculadora não percorre todos os inteiros de zero a n menos um.
Para cada potência q, ela forma n/q e calcula o inverso modular exato módulo q. Em seguida, combina os termos-base CRT para todos os padrões binários, reduz módulo n e ordena os resíduos. A fatoração usa divisão por tentativa determinística; produtos e inversões CRT usam BigInt para eliminar arredondamento.
Rede, relógio, aleatoriedade e cache mutável não participam, portanto a mesma entrada sempre gera os mesmos fatores, a mesma ordem e a mesma lista.
Casos de uso
Ensinar o teorema chinês do resto
Mostre como escolhas independentes de zero ou um em potências primas se tornam resíduos concretos módulo um inteiro composto.
Testar código de aritmética modular
Gere uma referência exata e ordenada para validar implementações de anéis, congruências ou classes residuais.
Explorar a estrutura de anéis finitos
Liste os elementos que se comportam como projeções sob multiplicação no anel dos inteiros módulo n.
Perguntas frequentes
Zero e um sempre aparecem?
Sim. Ambos são sempre idempotentes; quando n é um, os dois nomes representam o único resíduo canônico, zero.
Quantos idempotentes existem?
Para n maior que um e com k fatores primos distintos, existem exatamente 2^k. O módulo um tem uma única classe.
Por que as potências primas são retornadas?
Elas mostram os componentes coprimos usados pelo teorema chinês do resto e explicam a quantidade de soluções.
A calculadora testa todos os resíduos?
Não. Ela fatora n e constrói diretamente o conjunto completo usando termos-base CRT.
Quais são os idempotentes módulo 12?
São 0, 1, 4 e 9. Por exemplo, 4 ao quadrado é 16, que deixa resto 4 na divisão por 12, e 9 ao quadrado é 81, que deixa resto 9. Como 12 tem dois fatores primos distintos, são quatro.
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/idempotents-mod-n \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/idempotents-mod-n", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/idempotents-mod-n",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/idempotents-mod-n", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/idempotents-mod-n", 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": 12
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.idempotents_mod_n",
"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 | 1000000000000 |
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 significado de um resíduo idempotente
Para n igual a um existe uma única classe, representada por zero, que é idempotente. prime_power_factors expõe a estrutura aritmética: doze aparece como quatro vezes três, e não como dois vezes dois vezes três.
Como a lista completa é construída
O limite de um trilhão mantém a latência previsível, e cada resultado cabe em um inteiro JSON seguro.
Como informar o módulo e usar a resposta
Valores acima do limite publicado de um trilhão também são recusados antes de uma fatoração potencialmente cara. Uma verificação útil é que count equivale a dois elevado ao número de primos distintos; n igual a um constitui o caso especial com fatores vazios e contagem um. Você pode confirmar cada x calculando se o resto não negativo de x vezes x menos x por n é zero. O resultado pode alimentar rotinas de anéis finitos, testes de bibliotecas, correção de exercícios do teorema chinês ou enumerações modulares. Envie n como inteiro JSON positivo ou como texto decimal simples. O alias modulus também é aceito quando um formulário prefere um nome descritivo. Uma string pode começar com sinal de mais, porém frações, notação exponencial, prefixos hexadecimais, espaços, negativos, zero, valores ausentes, arrays e objetos sem o campo correto retornam invalid_input. Em caso de sucesso, leia idempotents para obter o conjunto ascendente completo, count para seu tamanho e prime_power_factors para a decomposição coprima. Cada solicitação bem-sucedida pela API custa US$ 0,002; a execução gratuita no navegador usa a mesma função pura.
Perguntas técnicas
Quais entradas são rejeitadas?
Valores ausentes, não inteiros ou abaixo de um, textos decimais inválidos e módulos acima do limite publicado retornam invalid_input.