Verificador de número altamente composto
Um número altamente composto tem mais divisores positivos do que qualquer inteiro positivo menor.
Executar grátis
Este verificador aplica essa definição estrita de recorde ao valor informado por você, em vez de apenas decidir se ele possui muitos fatores ou se é composto. O resultado traz a quantidade de divisores do número escolhido, a maior contagem atingida abaixo dele e uma resposta direta, verdadeira ou falsa. Esses dados facilitam a conferência em aulas, pesquisas de sequências inteiras, exercícios de programação e rotinas de validação.
O que significa passar no teste
Um número só atende à condição quando sua quantidade de divisores positivos é estritamente maior do que a de todos os inteiros positivos menores. A palavra “estritamente” é importante. Se um valor anterior já atingiu a mesma contagem, o valor posterior não estabelece um novo recorde, e o verificador retorna falso. Portanto, o método procura recordistas na sequência das quantidades de divisores, e não apenas a distinção comum entre números primos e compostos. O inteiro positivo 1 está incluído: ele tem um divisor positivo e não há inteiro positivo menor a ser superado, por isso é o primeiro recordista segundo a definição adotada. A resposta inclui divisor_count para o valor enviado e max_smaller_divisor_count para a melhor marca anterior. Comparar esses dois campos explica o resultado booleano sem exigir confiança em um rótulo sem justificativa. Isso é especialmente útil no estudo de sequências de recordes, pois um número pode ter uma fatoração impressionante e ainda assim falhar porque um inteiro anterior igualou ou superou sua quantidade de divisores.
Como o verificador produz uma resposta determinística
O algoritmo cria uma tabela exata da quantidade de divisores de cada inteiro positivo de 1 até o valor solicitado. Ele percorre cada divisor possível e incrementa a contagem de todos os seus múltiplos, que é a mesma relação descrita ao afirmar que um divisor divide um número sem deixar resto. Depois que a tabela fica pronta, o verificador examina todas as entradas abaixo do valor solicitado e guarda a maior quantidade encontrada. O número informado é altamente composto exatamente quando sua contagem supera esse máximo anterior. Não há teste probabilístico de primalidade, aproximação, banco de dados remoto, escolha aleatória nem valor dependente do relógio. Assim, entradas idênticas geram o mesmo JSON no navegador e na API. A implementação aceita inteiros positivos seguros e textos compostos somente por algarismos. Frações, textos não numéricos, valores abaixo de um e entradas acima do limite declarado são rejeitados. O limite mantém previsíveis o uso de memória e os laços aritméticos aninhados tanto no navegador quanto no ambiente de execução.
Como interpretar e usar os campos retornados
Comece por is_highly_composite, a decisão principal. Quando o campo é verdadeiro, divisor_count é necessariamente maior do que max_smaller_divisor_count, demonstrando que a entrada estabeleceu um novo recorde. Quando é falso, o máximo anterior é igual ou superior à contagem da entrada; portanto, o número não satisfaz a definição, mesmo que tenha muitos fatores. A resposta também repete n, o que ajuda registros e tarefas em lote a manter cada decisão associada ao valor de origem. Em uma aula sobre sequências, você pode enviar inteiros vizinhos e observar o máximo permanecer fixo até surgir um novo recorde. Em testes de software, valide tanto o booleano quanto as duas contagens para que uma regressão não se esconda atrás de um rótulo aparentemente correto. Em fluxos de dados, trate uma resposta de entrada inválida como falha de contrato, não como resultado matemático: zero e inteiros negativos estão fora do domínio. Cada solicitação de API custa US$ 0,002, enquanto a versão no navegador roda localmente. Nenhuma das opções consulta uma base numérica externa, altera ou armazena o inteiro enviado.
Casos de uso
Explorar sequências de recordes de divisores
Teste inteiros positivos sucessivos e identifique exatamente onde surge um novo recorde de quantidade de divisores.
Conferir exercícios de matemática
Verifique uma afirmação sobre um número altamente composto e examine as contagens que justificam a decisão.
Validar candidatos gerados
Adicione uma verificação determinística de recorde ao código que propõe candidatos com base em fatorações ou sequências inteiras.
Perguntas frequentes
O que é um número altamente composto?
É um inteiro positivo com estritamente mais divisores positivos do que qualquer inteiro positivo menor.
Um empate com um número anterior é suficiente?
Não. A entrada precisa superar o recorde anterior de quantidade de divisores; igualá-lo não basta.
O número 1 é considerado altamente composto?
Sim, segundo a definição usada aqui. Ele tem um divisor e não existe inteiro positivo menor para disputar esse primeiro recorde.
Quais entradas são aceitas?
Informe um inteiro positivo entre 1 e 1,000,000. O solucionador compartilhado também aceita texto composto somente por algarismos.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. O mesmo verificador determinístico está disponível no navegador.
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/highly-composite-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/highly-composite-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/highly-composite-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/highly-composite-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/highly-composite-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.highly_composite_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.
Limites
max_n | 1000000 |
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. |