Verificador de número prático
Diz se todo inteiro menor que n pode ser formado com divisores distintos de n: 12 é prático, porque 1, 2, 3, 4, 6 e 12 alcançam todos os valores de 1 a 12. Se não, você vê a primeira lacuna. 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
- Divisores
- 1, 2, 3, 4, 6, 12
- Quantidade de divisores
- 6
- Soma dos divisores
- 28
O verificador de número prático responde a uma pergunta clássica da teoria dos números: todo inteiro positivo menor que n pode ser escrito como soma de divisores positivos distintos de n? Informe um inteiro positivo n e a ferramenta devolve a lista completa de divisores em ordem crescente, a contagem e a soma dos divisores, um indicador booleano practical e—quando a resposta for falsa—o primeiro inteiro positivo que não pode ser formado dessa forma. O motor lista os divisores por divisão de prova determinística e em seguida executa uma varredura de sequência completa que nunca usa aleatoriedade, nunca chama a rede e nunca depende do relógio, de modo que o mesmo n produz sempre a mesma classificação.
O que é um número prático e o que a resposta contém
Um inteiro positivo n é prático quando todo inteiro positivo menor pode ser expresso como soma de divisores positivos distintos de n. Como n é sempre divisor de si mesmo, a mesma condição cobre também todos os inteiros de um até n. O um é prático por vacuidade: não há inteiro positivo menor a representar.
O dois é prático porque um é divisor. Doze é o exemplo padrão: seus divisores um, dois, três, quatro, seis e doze formam todo inteiro de um a doze com subconjuntos distintos. Dez não é prático: seus divisores um, dois, cinco e dez formam um, dois, três igual a um mais dois, cinco, seis, sete, dez e assim por diante, mas quatro não tem representação, de modo que quatro é o primeiro valor não representável.
Inteiros ímpares maiores que um nunca são práticos, porque dois não pode ser escrito como soma de divisores ímpares. Os rótulos perfeito, abundante e deficiente respondem a outra pergunta sobre a soma alíquota; um número pode ser prático sem ser abundante, e abundante sem ser prático.
Como as entradas são lidas e como a varredura de sequência completa permanece exata
Sinais de mais iniciais opcionais são permitidos em valores positivos; espaços embutidos, prefixos hexadecimais e notação exponencial são rejeitados para que uma célula ruim não se torne um indicador errado. Inteiros negativos e zero são rejeitados porque aqui os números práticos se definem apenas sobre inteiros positivos. O motor permanece dentro dos inteiros seguros de JavaScript, mais do que suficiente para problemas de sala de aula, competições de programação e a maioria das verificações aplicadas sobre n moderadamente grandes.
Internamente todos os divisores positivos são coletados por divisão de prova: percorre-se d de um até o piso da raiz quadrada de n e, sempre que d dividir n, registram-se tanto d quanto n dividido por d quando esses pares forem distintos; em seguida as metades são fundidas em uma única lista crescente. A varredura de sequência completa mantém um valor de alcance R significando que todo inteiro de um a R já é uma soma de subconjunto dos divisores processados até o momento.
Para o próximo divisor d, se d for no máximo R mais um, o intervalo coberto se estende a R mais d sem lacunas; se d ultrapassar R mais um, R mais um é o primeiro inteiro não representável e n não é prático. Esse procedimento precisa apenas de verificações modulares e somas inteiras—nunca um passo de ponto flutuante que pudesse inventar um falso resultado prático.
Onde as verificações de número prático se encaixam no estudo, demos e código
Alunos encontram números práticos ao aprender somas de divisores, ao explorar a estrutura altamente composta e ao ler sobre representações no estilo de frações egípcias e do problema das moedas que usam o conjunto de divisores como denominações. Professores podem gerar gabaritos para listas sem confiar em calculadoras opacas que escondem o argumento de soma de subconjuntos.
Desenvolvedores usam o mesmo contrato para validar dados de amostra em bibliotecas de teoria dos números, para condicionar testes de propriedades em geradores de inteiros aleatórios ou para pré-verificar se uma semente está na classe prática antes de um passo de simulação. A prática de competições costuma precisar de uma fonte rápida offline de respostas de números práticos para conferir soluções sem baixar tabelas OEIS.
Combine com os verificadores de soma alíquota e de abundância quando precisar de abundância em vez de representabilidade, com uma ferramenta de lista de divisores quando precisar apenas dos fatores, e com auxiliares de fatoração prima quando precisar das potências primas de um inteiro em vez da classificação de número prático.
Casos de uso
Classificação para lição de casa e competições
Classifique inteiros como práticos ou não para listas e verificações de competição lendo o indicador practical e a primeira lacuna sem montar somas de subconjuntos à mão.
Ensinar somas de subconjuntos de divisores
Mostre aos alunos como divisores distintos agem como denominações enquanto eles alteram n ao vivo no navegador sem custo e veem o primeiro inteiro não representável.
Perguntas frequentes
O que acontece se n for menor que 1?
Números práticos são definidos aqui apenas para inteiros positivos n ≥ 1.
Como a propriedade prática é decidida?
A ferramenta lista todos os divisores positivos de n e os varre como sequência completa.
O algoritmo é aleatório?
Não. Usa apenas divisão de prova determinística e aritmética inteira. O mesmo n produz sempre os mesmos divisores, o mesmo indicador e a mesma primeira lacuna quando presente.
Em que isso difere de um verificador de número abundante?
Abundância compara a soma alíquota dos divisores próprios com n. Praticidade pergunta se todo inteiro positivo menor é soma de divisores distintos. As duas classificações respondem a perguntas diferentes.
Por que 10 não é um número prático?
Porque seus divisores 1, 2, 5 e 10 não conseguem formar o 4 com parcelas distintas. Eles chegam a 1, 2, 3, 5, 6 e 7, mas o 4 fica de fora, e é esse o primeiro valor impossível mostrado.
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/practical-number-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/practical-number-check", {
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/practical-number-check",
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/practical-number-check", 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/practical-number-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
{
"n": 12
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.practical_number_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
Use grátis no navegador para lição de casa, preparação para competições e exploração no estilo OEIS, ou chame a API a US$ 0,002 por solicitação bem-sucedida quando automatizar pipelines de classificação, scripts de correção ou demos didáticas que precisem de respostas reproduzíveis sobre números práticos.
O que é um número prático e o que a resposta contém
Este verificador devolve o n analisado, o array de divisores ordenado, divisor_count, divisor_sum (a função soma de divisores sigma(n)), practical true ou false, e quando practical é false o campo first_unrepresentable com o menor inteiro positivo que não pode ser formado. Campos ausentes, não inteiros, frações, notação científica, valores fora do intervalo de inteiros seguros e qualquer n menor que um falham com invalid_input e uma mensagem clara.
Como as entradas são lidas e como a varredura de sequência completa permanece exata
O campo preferido é n como inteiro JSON, mas cadeias decimais e os aliases number ou value também são aceitos para que formulários, planilhas e strings de consulta reutilizem um único contrato.
Onde as verificações de número prático se encaixam no estudo, demos e código
Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão—exploração interativa gratuita e uma API idêntica com preço—combina com o restante do catálogo KIT de nível A e permite passar de uma demo de sala de aula a um pipeline automatizado sem mudar o resultado matemático.
Casos de integração
Fixtures de teste determinísticas
Gere casos práticos e não práticos reproduzíveis para testes unitários, checagens de propriedades e asserções de CI sem incorporar dumps estáticos da OEIS.
Perguntas técnicas
Quanto custa o verificador de número prático?
É grátis no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.