Verificador de número Harshad
O 18 é um número Harshad: seus dígitos somam 9, e 18 dividido por 9 dá exatamente 2. Digite qualquer inteiro positivo e veja os dígitos, a soma e se essa soma o divide, útil para problemas de olimpíada e tarefas sobre soma de dígitos. 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
- 18
- Dígitos
- 1, 8
- Quantidade de dígitos
- 2
- Soma dos dígitos
- 9
- Quociente
- 2
Um número Harshad—também chamado número de Niven—é um inteiro positivo divisível pela soma dos seus próprios dígitos decimais. O nome Harshad vem do sânscrito e significa «doador de alegria»; o nome Niven homenageia o matemático Ivan Niven; ambos os rótulos apontam para a mesma propriedade de divisibilidade. Alunos encontram esses números em problemas de olimpíada e em tarefas sobre soma de dígitos; professores precisam de um oráculo determinístico que mostre dígitos, soma e quociente; engenheiros ocasionalmente usam o teste como filtro estrutural leve em identificadores seriais. Este verificador recebe um único inteiro positivo n, expande seus dígitos decimais, soma-os, testa se essa soma divide n e devolve o quociente inteiro quando divide.
Como o teste Harshad (Niven) e o quociente são calculados
Comece com um inteiro positivo n escrito na base dez. Extraia cada dígito de valor posicional tomando repetidamente n módulo dez e dividindo por dez com divisão inteira; em seguida inverta os restos coletados para que apareçam do mais significativo ao menos significativo. Some esses valores de dígito para obter s, frequentemente escrito s(n) ou sod(n) nos manuais.
Por definição, n é Harshad—equivalente a Niven—se e somente se s divide n sem resto, isto é, n mod s é igual a zero. Quando o teste passa, o quociente Harshad é a divisão inteira ordinária de n por s; quando falha, não há quociente inteiro sob esta definição e o campo é devolvido como null para que os clientes possam ramificar sem inventar um valor fracionário.
Exemplos clássicos: dezoito tem dígitos um e oito, soma nove, e dezoito dividido por nove é igual a dois, logo é Harshad com quociente dois; dezenove tem dígitos um e nove, soma dez, e dezenove não é divisível por dez, logo não é Harshad. Um é Harshad porque o único dígito um divide um com quociente um. Potências de dez como dez e cem têm soma de dígitos um e, portanto, são sempre Harshad.
Onde as verificações Harshad aparecem no trabalho real
Lições de sala sobre regras de divisibilidade por três e por nove já usam a soma dos dígitos decimais; os números Harshad estendem essa intuição ao predicado completo de divisibilidade e dão aos alunos uma família nomeada para explorar.
Equipes de produto e operações às vezes aplicam filtros estruturais leves a códigos de ticket, identificadores de lote ou seriais gerados quando um Luhn completo ou uma soma de verificação criptográfica seria mais pesado do que o necessário; um sinalizador Harshad determinístico mais o quociente é um portão simples que pode ser auditado offline. Use a ferramenta gratuita do navegador para deveres de casa e checagens rápidas de sanidade; em seguida chame o contrato idêntico a partir de scripts quando precisar de verificação em massa.
Se mais tarde precisar apenas da soma dos dígitos sem o predicado Harshad, da enumeração em intervalo de números Harshad ou de expansões em outras bases, trate isso como intenções de busca separadas em vez de sobrecarregar esta landing.
Casos de uso
Ensino de divisibilidade pela soma de dígitos
Mostre aos alunos os dígitos ordenados, a soma e o resultado dividir-ou-falhar para que a definição de Niven fique concreta, não abstrata.
Checagens leves de estrutura em seriais
Aplique um sinalizador Harshad determinístico e o quociente a identificadores de ticket ou de lote em pipelines que precisam de um portão aditivo simples.
Perguntas frequentes
O que é um número Harshad ou de Niven?
Um inteiro positivo divisível pela soma dos seus dígitos decimais. Por exemplo, 18 tem soma de dígitos 9 e 18÷9=2, logo 18 é Harshad (Niven).
O que significa o campo quotient?
Quando a soma não divide n, quotient é null.
Apenas a base dez é suportada?
Sim. Este verificador usa somente dígitos decimais, o que corresponde à intenção de busca usual de Harshad/Niven. Outras bases estão fora do escopo aqui.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
O 18 é um número Harshad?
Sim. Os dígitos 1 e 8 somam 9, e 18 dividido por 9 dá 2 sem resto. O resultado mostra os dígitos, a soma 9 e o quociente 2.
Por que o 11 não é um número Harshad?
Porque os dígitos 1 e 1 somam 2, e o 11 é ímpar, então não pode ser dividido por 2 sem deixar resto. Quando a soma não divide o número, nenhum quociente é 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/harshad-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":18}'const res = await fetch("https://api.kit.forhosting.com/numth/harshad-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/harshad-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/harshad-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/harshad-number", 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": 18
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.harshad_number",
"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
min_n | 1 |
max_n | 9007199254740991 |
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
A ferramenta do navegador e a API compartilham uma única função pura, de modo que checagens interativas e pipelines automatizados nunca divergem em silêncio.
O que voce envia e o que recebe de volta
Zero e inteiros negativos falham porque a definição clássica de Harshad e Niven se aplica apenas a inteiros positivos; a mensagem de erro afirma que n deve ser pelo menos um para que formulários e scripts possam corrigir a entrada sem adivinhar. Como o motor é trabalho de parse puro, o mesmo n produz sempre o mesmo objeto, sem deriva de modelo e sem estado armazenado entre chamadas. Forneça um inteiro positivo obrigatório no campo n, ou nos aliases number, value ou integer. Valores ausentes, não inteiros, menores que um ou maiores que o máximo de inteiro seguro são rejeitados com invalid_input e não são cobrados. Em caso de sucesso, a resposta inclui o n normalizado, digits como um array de valores de dígitos decimais na ordem do mais significativo ao menos significativo, digit_count como o comprimento desse array, digit_sum como o total, is_harshad como booleano e quotient como o inteiro n dividido por digit_sum quando is_harshad é true, ou null quando a soma não divide n. Checagens de exemplo: n igual a dezoito produz dígitos um e oito, digit_sum nove, is_harshad true, quotient dois; n igual a dezenove produz digit_sum dez, is_harshad false, quotient null; n igual a doze produz dígitos um e dois, soma três, quociente quatro. O contrato é JSON estável, adequado para testes unitários, demonstrações em sala e pipelines em lote.
Onde as verificações Harshad aparecem no trabalho real
Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.
Casos de integração
Fixtures de contestação e deveres
Verifique se n é Harshad e capture o quociente exato para problemas de olimpíada e gabaritos de sala de aula.
Perguntas técnicas
Por que n menor que 1 é rejeitado?
A definição clássica cobre apenas inteiros positivos. Zero e negativos devolvem invalid_input com a mensagem de que n deve ser pelo menos 1.