Calculadora da função de Carmichael
λ(15) vale 4: qualquer número coprimo com 15 elevado à quarta potência deixa resto 1 na divisão por 15, enquanto a φ de Euler de 15 vale 8. Digite um inteiro positivo de até 18 algarismos e receba λ(n) e a fatoração em primos. 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
- Valor n
- 15
- Lambda λ(n)
- 4
- Ômega
- 2
A função de Carmichael λ(n) responde a uma pergunta mais afiada que a função totiente de Euler: qual é o menor expoente positivo m tal que todo inteiro a coprimo com n satisfaz a^m ≡ 1 (mod n)? Esse único inteiro é o expoente do grupo multiplicativo de unidades módulo n, e aparece em cronogramas de chaves RSA, provas relacionadas à primalidade, e exercícios de sala de aula sobre ordens modulares. Esta calculadora recebe um inteiro positivo, o fatora deterministicamente com aritmética BigInt, aplica a fórmula de potência prima para λ, e retorna o mínimo múltiplo comum como uma string decimal exata.
O que a função de Carmichael mede
A função totiente de Euler φ(n) conta quantas classes residuais módulo n são coprimas com n; a função λ(n) de Carmichael é o expoente desse grupo — o mínimo múltiplo comum das ordens de todas as unidades. Por definição, λ(n) sempre divide φ(n), e para primos e para o dobro de primos ímpares as duas funções coincidem, mas para potências de dois e para produtos de várias potências primas, λ costuma ser estritamente menor.
A fórmula fechada é elementar uma vez conhecida a fatoração prima de n: λ(1) é igual a 1; λ(2) é igual a 1 e λ(4) é igual a 2; para potências mais altas de dois, λ(2^k) é igual a 2^{k-2}; para uma potência prima ímpar, λ(p^k) é igual a φ(p^k) igual a p^{k-1}(p-1); e para um n geral, o valor global é o mmc dos valores locais em cada fator de potência prima.
Conhecer λ(n) permite limitar a ordem de qualquer a coprimo com n sem testar cada expoente candidato, e é por isso que cursos de teoria dos números e demonstrações criptográficas tratam essa função como companheira de primeira classe do totiente.
Como chamar a calculadora e ler λ(n)
Envie um único campo n — um inteiro seguro do JavaScript ou uma string decimal simples sem vírgulas, espaços ou notação científica. Internamente, o mecanismo promove n para BigInt, o fatora com uma roda de divisão por tentativa 6k±1 até a raiz quadrada do cofator restante, avalia a fórmula local de Carmichael em cada potência prima, e combina esses valores locais com um mmc exato.
A resposta traz n e lambda como strings decimais, um array factors de pares { base, exponent } em ordem crescente (vazio quando n é 1), e omega como a contagem de bases primas distintas. Fique dentro do limite publicado de dezoito dígitos decimais; além desse limite, a solicitação falha rapidamente em vez de consumir CPU em uma busca inviável.
Onde λ(n) aparece na prática
Alimente λ(n) em provas de que um gerador tem ordem máxima, verifique se um expoente universal proposto realmente anula toda unidade, ou documente o expoente de grupo de tamanhos de tabela hash e módulos de desafio. Autores de pipeline podem encadear esta calculadora depois de um passo de fatoração ou chamá-la sozinha quando apenas o expoente é necessário. Os fatores estruturados na resposta também servem como uma decomposição gratuita de potência prima para qualquer cálculo subsequente de totiente ou radical que você execute em seguida.
Casos de uso
Verificações de ordem modular para tarefas e concursos
Verifique respostas de alunos ou de concurso para o expoente de (Z/nZ)* comparando o λ(n) retornado com valores calculados à mão pelo mmc dos valores locais.
Demonstrações de sala de aula de RSA e criptografia
Mostre que λ(n) pode ser estritamente menor que φ(n) em potências de dois e produtos de múltiplos primos usados em módulos RSA de brinquedo.
Ajudantes de teoria dos números em pipeline
Emita λ(n) exato mais potências primas para limites de ordem, verificações cruzadas de totiente, ou tabelas de expoente em lote em pipelines matemáticos automatizados.
Perguntas frequentes
A calculadora da função de Carmichael é gratuita?
A ferramenta do navegador roda gratuitamente no seu dispositivo.
Como λ(n) difere da função totiente de Euler φ(n)?
φ(n) conta as unidades módulo n; λ(n) é o expoente desse grupo. λ(n) sempre divide φ(n) e costuma ser menor para potências de dois e n com múltiplos primos.
Para que serve λ(n) na prática?
É um expoente universal: todo número coprimo com n elevado a λ(n) deixa resto 1. Isso limita a ordem de qualquer um desses números sem testar todos os expoentes possíveis um por um.
Como λ(n) é calculada?
Decompõe-se n em potências de primos, toma-se o valor de cada uma e combinam-se os valores pelo mínimo múltiplo comum. Para 15, as partes 3 e 5 dão 2 e 4, então λ(15) é 4.
Qual o tamanho máximo do número que posso digitar?
Qualquer inteiro positivo de até 18 algarismos, escrito sem vírgulas, espaços ou notação científica. Acima desse tamanho o cálculo para na hora, em vez de tentar uma busca inviável.
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/carmichael-function \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":"15"}'const res = await fetch("https://api.kit.forhosting.com/numth/carmichael-function", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": "15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/carmichael-function",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": "15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/carmichael-function", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":"15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":"15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/carmichael-function", 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": "15"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.carmichael_function",
"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_digits | 18 |
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
Os resultados nunca dependem de arredondamento em ponto flutuante, chamadas de rede, ou tempo de relógio, então o caminho gratuito do navegador e o caminho pago da API produzem JSON idêntico para o mesmo n.
O que a função de Carmichael mede
Este endpoint retorna esse inteiro junto com a fatoração usada, para que você possa auditar cada passo da derivação, em vez de confiar em uma caixa preta opaca.
Como chamar a calculadora e ler λ(n)
Os valores precisam ser inteiros de pelo menos 1; zero, negativos e frações são rejeitados com invalid_input e nunca são cobrados. Os nomes de campo alternativos number e value são aceitos por conveniência.
Onde λ(n) aparece na prática
A validação com falha nunca consome saldo; apenas os cálculos bem-sucedidos são cobrados no US$ 0,002 publicado. Use a ferramenta do navegador para exploração interativa de n pequenos e médios, e a API quando um backend, notebook, ou trabalho em lote precisar calcular λ para muitos inteiros sob um único saldo pré-pago do KIT, sem assinatura.
Perguntas técnicas
Como eu calculo a função de Carmichael λ(n) com esta API?
Envie por POST um objeto com o campo n definido como um inteiro ≥ 1 (ou uma string decimal). A resposta retorna lambda como string decimal, mais factors e omega.
Por que n precisa ser pelo menos 1?
λ(n) é definido para inteiros positivos. Zero e negativos são rejeitados com invalid_input em vez de inventar uma convenção; λ(1) é definido como 1.
O resultado é determinístico entre o navegador e a API?
Sim. A mesma rotina pura de fatoração e mmc alimenta os dois caminhos, então entradas idênticas produzem JSON idêntico, sem rede nem aleatoriedade envolvidas.