ForHosting KIT · Ferramentas para dev

Todas as raízes primitivas módulo n

Esta calculadora de todas as raízes primitivas módulo n retorna o conjunto completo e ordenado de geradores do grupo multiplicativo de unidades módulo um inteiro n.

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

Primeiro, ela determina se o módulo pertence a uma família que admite raízes primitivas; depois calcula o totiente de Euler, encontra um gerador e deriva todos os demais. A resposta inclui o módulo, o totiente, a quantidade e a lista completa de raízes. Valores abaixo de dois e módulos sem raízes primitivas geram um erro claro. A mesma aritmética determinística permite verificações rápidas e automação reproduzível via API por US$ 0,002 em cada solicitação bem-sucedida.

O que significa a lista completa de raízes primitivas

Uma raiz primitiva módulo n é um resíduo cujas potências repetidas geram todas as classes de resíduos invertíveis módulo n. A palavra essencial é todas: um número pode ser coprimo com n e ainda percorrer apenas um subgrupo próprio, portanto ser uma unidade é necessário, mas não suficiente. A capacidade retorna todos os representantes positivos entre 1 e n menos 1 com ordem multiplicativa exatamente igual a phi(n). Para o módulo 14, por exemplo, o grupo de unidades tem seis elementos e o conjunto completo de geradores contém dois resíduos. A resposta informa n, o totiente de Euler phi, a quantidade de raízes primitivas e o array primitive_roots em ordem numérica. A contagem permite conferir o resultado: quando existem raízes primitivas, há phi(phi(n)) delas. O módulo especial 2 possui corretamente a única raiz 1. Um módulo sem gerador para todo o grupo é rejeitado; uma lista vazia esconderia que o grupo não é cíclico.

Como a existência e cada gerador são verificados

Nem todo módulo admite raízes primitivas. O teorema de classificação afirma que o grupo multiplicativo módulo n é cíclico exatamente quando n é 2, 4, uma potência de primo ímpar ou duas vezes uma potência de primo ímpar. A calculadora fatora n e verifica essa condição estrutural antes da busca. Para um módulo admissível, calcula phi(n), fatora a ordem do grupo e testa unidades candidatas com exponenciação modular. Um candidato g tem ordem completa phi(n) se, para cada divisor primo distinto q de phi(n), g elevado a phi(n) dividido por q não for congruente a 1 módulo n. Depois de encontrar g, todas as raízes são potências g elevado a k em que k é coprimo com phi(n). A implementação enumera esses expoentes, calcula resíduos exatos e ordena o resultado. Ela não usa aleatoriedade, tabelas externas, rede nem horário atual; a mesma entrada sempre produz o mesmo conteúdo numérico.

Como usar o resultado em matemática e software

Listas completas de geradores são úteis quando um problema pede mais do que a menor raiz primitiva. Estudantes podem comparar os resíduos retornados com tabelas de potências feitas à mão e entender por que a quantidade de geradores é phi(phi(n)). Docentes podem preparar gabaritos que incluam todas as respostas válidas. Desenvolvedores podem criar dados de teste para rotinas de ordem multiplicativa, verificar código de enumeração ou escolher entre vários geradores conforme outra regra da aplicação. Os erros também são instrutivos: testar os módulos 8 ou 15 mostra que muitos compostos conhecidos têm grupos de unidades não cíclicos, embora contenham vários resíduos invertíveis. A entrada é limitada a 10,000 porque a resposta solicitada é exaustiva e pode conter muitas raízes; o limite mantém previsíveis a renderização, o tamanho da API e o tempo de execução. Informe n como inteiro ou cadeia decimal simples. Solicitações bem-sucedidas custam US$ 0,002; entradas incompatíveis ou malformadas são identificadas claramente.

Conferir um exercício de teoria dos números

Compare um cálculo manual com o conjunto completo e ordenado de geradores módulo n.

Gerar dados de teste determinísticos

Crie valores esperados exatos para código que calcula ordens multiplicativas ou grupos cíclicos de unidades.

Ensinar grupos de unidades cíclicos e não cíclicos

Compare módulos admissíveis com valores que não podem ter raiz primitiva e explique o teorema de classificação.

Quanto custa uma solicitação de API?

Uma solicitação bem-sucedida de API custa US$ 0,002. Uma entrada inválida retorna um erro, não uma lista de raízes.

Quais módulos têm raízes primitivas?

Exatamente 2, 4, potências de primos ímpares e duas vezes essas potências. Os demais são rejeitados porque seus grupos de unidades não são cíclicos.

Por que um resíduo coprimo pode não ser uma raiz primitiva?

A coprimalidade apenas torna o resíduo uma unidade. Uma raiz primitiva também precisa ter a maior ordem multiplicativa possível, phi(n).

Quantas raízes primitivas o resultado deve conter?

Quando elas existem, sua quantidade é phi(phi(n)). A resposta inclui a contagem calculada junto ao array.

Por que n é limitado a 10,000?

A saída lista todos os geradores e, portanto, cresce com n. O limite mantém previsíveis o cálculo exaustivo e o tamanho da resposta.

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/all-primitive-roots

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/all-primitive-roots \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":14}'
{
  "n": 14
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.all_primitive_roots",
  "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.

max_n10000
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 →