Valoração p-ádica
Conte quantas vezes um primo divide um número inteiro: 72 é 8 vezes 9, então contém o primo 2 três vezes, sua valoração 2-ádica é 3 e a parte que sobra é 9. Números negativos também funcionam. 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
- 72
- Potência (W)
- 2
- Avaliação
- 3
- Resíduo
- 9
A valoração p-ádica é o expoente aritmético que mede quantas vezes um primo p divide um inteiro n. Cursos de álgebra, teoria algébrica dos números, problemas de competição sobre fatores finais e a análise p-ádica usam esse único inteiro. Estudantes costumam confundi-lo com a fatoração prima completa ou com a fórmula de Legendre para fatoriais. Esta calculadora aceita n não nulo e um primo p, verifica a primalidade, extrai as potências de p do valor absoluto de n e devolve a valoração junto com o residual livre de p e uma string de fórmula curta. Bases compostas ou não primas são rejeitadas para manter a definição clássica.
O que a valoração p-ádica mede
De forma equivalente, escreva o valor absoluto de n na forma p a k vezes m, onde m é um inteiro não divisível por p; então a valoração é k e m carrega o sinal de n nesta calculadora como residual. Quando p não divide n de forma alguma, o maior k é zero e o residual coincide com n. Quando n é uma potência pura de p, o residual tem valor absoluto um.
A definição exclui deliberadamente n igual a zero. Manuais de teoria dos números a introduzem antes dos corpos locais, enquanto material de programação competitiva a usa ao contar fatores de dois ou cinco em um produto, simplificar frações módulo uma potência de primo ou testar partes livres de quadrados após remover potências primas. Devolver valoração e residual permite reconstruir n como p à valoração vezes residual e verificar a identidade sem um segundo passo de fatoração.
Contrato de entrada, algoritmo, formato da resposta e erros
Compostos pares, quadrados de primos e qualquer inteiro não primo falham com uma mensagem clara de que p deve ser primo; essas falhas não são cobradas. Zero em n é rejeitado com uma mensagem de que a valoração p-ádica de zero é indefinida. Exemplo: n igual a setenta e dois e p igual a dois produz valoração três e residual nove porque setenta e dois é oito vezes nove.
Exemplo: n igual a quarenta e cinco e p igual a dois produz valoração zero e residual quarenta e cinco porque dois não divide quarenta e cinco. O algoritmo apenas divide por p repetidamente; nunca fatora n por completo, então n altamente compostos grandes com p primo pequeno permanecem rápidos.
Onde a valoração p-ádica é útil
Salas de aula e plataformas de tutoria usam uma calculadora de valoração p-ádica para que os alunos verifiquem o expoente de um primo escolhido sem escrever um laço de fatoração completa em cada tarefa. Ajudantes de programação competitiva precisam de um oráculo determinístico que remova potências de p ao reduzir frações, calcular multiplicidade em produtos ou verificar núcleos livres de quadrados após remover potências de p. Validação falha e p não primo não consomem saldo.
Mantenha as requisições dentro dos limites publicados, fixe valuation e residual nos testes e você obtém expoentes reproduzíveis para lições de casa, plugins LMS e workers na borda sem montar infraestrutura simbólica própria. Páginas irmãs de teoria dos números neste kit cobrem fatoração prima completa, expoentes fatoriais via Legendre e zeros à direita; esta página responde especificamente a quem busca a valoração de um inteiro em um único primo.
Casos de uso
Cadernos p-ádicos e de corpos locais
Calcule valorações finitas em inteiros antes de elevar exemplos a Z_p ou Q_p sem embutir uma biblioteca de álgebra computacional.
Perguntas frequentes
O que acontece se n for zero?
A valoração p-ádica de zero é, por convenção, +∞, não um inteiro finito, por isso o zero é rejeitado e não é cobrado.
O que acontece se p não for primo?
Bases compostas, unitárias e negativas são rejeitadas; validação falha não é cobrada.
A valoração depende do sinal de n?
O residual mantém o sinal de n de modo que n igual a p^valuation vezes residual continua valendo.
Qual é a valoração 2-ádica de 72?
É 3, e a parte que sobra é 9. O primo 2 divide 72 três vezes porque 72 é 8 vezes 9, e 9 não pode mais ser dividido por 2.
O que significa a parte que sobra?
É o que fica depois de retirar todos os fatores do primo, por isso não é mais divisível por ele. Multiplicando-a pelo primo elevado à valoração, você volta ao número; 45 com o primo 2 dá valoração 0 e sobra 45.
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/p-adic-valuation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":72,"p":2}'const res = await fetch("https://api.kit.forhosting.com/numth/p-adic-valuation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 72,
"p": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/p-adic-valuation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 72,
"p": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/p-adic-valuation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":72,"p":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":72,"p":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/p-adic-valuation", 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": 72,
"p": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.p_adic_valuation",
"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
Escreva n como p elevado a k vezes uma unidade não divisível por p; esse k é v_p(n). O zero é rejeitado porque v_p(0) é, por convenção, mais infinito, não um inteiro finito.
O que a valoração p-ádica significa e como v_p(n) é definida
Para um primo fixo p e um inteiro n não nulo, a valoração p-ádica v_p(n) é o maior inteiro k maior ou igual a zero tal que p elevado a k ainda divide n. Valores negativos de n recebem a mesma valoração que o valor absoluto porque a divisibilidade ignora o sinal: v_p de menos doze com p igual a dois é a mesma que para doze. No valor absoluto p-ádico, a valoração de zero é tomada como mais infinito para que a fórmula do produto e as propriedades ultramétricas fiquem limpas; por isso esta API falha com invalid_input em vez de inventar um código finito para o infinito. A valoração é aditiva em produtos: v_p de a vezes b é v_p de a mais v_p de b, e é o bloco de construção do valor absoluto p-ádico dado por p elevado a menos a valoração.
Contrato de entrada, algoritmo, formato da resposta e erros
Envie um corpo JSON com dois inteiros obrigatórios: n, um inteiro não nulo cujo valor absoluto é no máximo um trilhão, e p, um primo pelo menos dois e no máximo um trilhão. Cada campo pode chegar como número JSON ou como string de dígitos; campos ausentes, frações, valores não finitos e magnitudes fora da faixa falham com invalid_input nomeando o campo. Em caso de sucesso o corpo ecoa n e p, devolve valuation como inteiro não negativo, residual como o inteiro com sinal n dividido por p à valoração, divides como booleano verdadeiro quando a valoração é positiva, e formula como string curta da forma v_p de n igual a k.
Onde uma API de valoração p-ádica vale o investimento
Cadernos de teoria algébrica dos números reduzem perguntas locais sobre Z_p e Q_p a valorações finitas em inteiros antes de elevar a séries p-ádicas; um endpoint de parse pequeno evita importar um sistema de álgebra computacional para uma checagem de dois argumentos. Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Casos de integração
Verificações de sala de aula e lição de casa
Permita que os alunos enviem n e o primo p e verifiquem v_p(n) mais o residual livre de p em relação a métodos manuais sem fatoração completa.
Ajudantes de competição e scripts
Remova potências de um primo fixo em produtos, simplifique frações ou teste multiplicidade com um endpoint determinístico cobrado por item.
Perguntas técnicas
Como calculo a valoração p-ádica com esta API?
Envie JSON com o inteiro não nulo n e o primo p. Em caso de sucesso a resposta devolve valuation (o expoente), residual (n / p^valuation), divides e uma string de fórmula curta.
Quanto custa a calculadora de valoração p-ádica?
A ferramenta do navegador é gratuita. Chamadas API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida e p não primo não são cobrados.