Verificador de Kaprekar
O 45 é um número de Kaprekar: 45 ao quadrado é 2025, e 20 mais 25 volta a dar 45. Digite qualquer inteiro positivo para testar todas as formas de dividir o quadrado e ver a divisão válida, se existir. 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
- 45
- Quadrado
- 2025
- Esquerda
- 20
- Direita
- 25
O verificador de número de Kaprekar responde a uma pergunta clássica de teoria dos números recreativa: para um inteiro positivo n, os dígitos decimais de n ao quadrado podem ser divididos em uma parte esquerda e uma parte direita que somam de volta ao próprio n? Informe n e a ferramenta retorna a string decimal exata do quadrado, as partes esquerda e direita vencedoras quando uma divisão válida existe, e um sinalizador booleano kaprekar que é true exatamente quando tal divisão é encontrada. Exemplos famosos incluem quarenta e cinco (quarenta e cinco ao quadrado é dois mil e vinte e cinco, e vinte mais vinte e cinco é igual a quarenta e cinco) e duzentos e noventa e sete (oitenta e oito mil duzentos e nove se divide como oitenta e oito mais duzentos e nove). O mecanismo usa aritmética BigInt determinística e uma varredura exaustiva dos pontos de divisão, então o resultado é livre de desvio de ponto flutuante e idêntico a cada execução. Ele nunca chama a rede, nunca amostra aleatoriedade, e nunca depende do relógio.
O que é um número de Kaprekar e o que a resposta contém
Um inteiro positivo n é um número de Kaprekar quando a representação decimal de n ao quadrado pode ser dividida em duas partes contíguas — uma parte esquerda e uma parte direita — tais que esses dois inteiros somam exatamente n. A parte direita pode começar com zeros quando lida como uma string de dígitos, mas não pode ser inteiramente zero; essa regra rejeita corretamente números como cem, cujo quadrado é dez mil e só "funciona" se uma metade direita zero for permitida.
Por convenção consolidada, o número um é Kaprekar: um ao quadrado é um, lido como zero mais um. Nove é Kaprekar porque oitenta e um se divide como oito mais um. Quarenta e cinco e cinquenta e cinco são os exemplos de dois dígitos mais conhecidos; noventa e nove, duzentos e noventa e sete, e setecentos e três aparecem em toda lista padrão.
Dez é composto e positivo, mas não é Kaprekar: cem não pode ser dividido em partes direitas não nulas que somem dez. Este verificador retorna o n informado, a string exata do quadrado, left e right quando uma divisão válida existe (caso contrário, nulo), e kaprekar true se e somente se uma divisão válida foi encontrada. Inteiros positivos não Kaprekar são respostas bem-sucedidas válidas com kaprekar false; eles não são erros.
Se você só precisar do quadrado de um inteiro sem o teste de divisão de Kaprekar, eleve-o ao quadrado você mesmo; esta página responde à pergunta sobre número de Kaprekar com as duas partes da divisão vencedora quando existe uma.
Como as entradas são lidas e como a divisão do quadrado permanece exata
Sinais de mais à esquerda são permitidos para valores positivos; espaços incorporados, prefixos hexadecimais e notação exponencial são rejeitados, para que uma célula ruim não vire um sinalizador errado. Inteiros negativos e zero são rejeitados porque este verificador define números de Kaprekar em inteiros positivos a partir de um. O mecanismo permanece dentro dos inteiros seguros do JavaScript para a entrada, o que é mais que suficiente para problemas de sala de aula, concursos de programação, e a maioria das verificações aplicadas em n moderadamente grandes.
O algoritmo então percorre cada índice de divisão de um até o último dígito exclusive: para cada índice, ele lê left como o prefixo inteiro e right como o sufixo inteiro, pula sufixos que são todos zeros, e aceita o primeiro par cuja soma é igual a n. Não há passo em ponto flutuante que pudesse arredondar uma quase-correspondência em uma falsa afirmação de Kaprekar.
Onde as verificações de Kaprekar se encaixam no estudo, em demonstrações de pesquisa e no código
Estudantes encontram números de Kaprekar ao explorar teoria dos números recreativa, propriedades baseadas em dígitos, e curiosidades nomeadas em homenagem a D. R. Kaprekar, junto com a constante de Kaprekar seis mil cento e setenta e quatro de sua rotina sobre rearranjos de quatro dígitos. Professores podem gerar gabaritos para planilhas de exercícios sem confiar em aplicativos de calculadora opacos que escondem o passo de elevar ao quadrado e dividir.
Desenvolvedores usam o mesmo contrato para validar dados de amostra para bibliotecas de teoria dos números, para condicionar testes de propriedades sobre geradores de inteiros aleatórios, ou para verificar previamente que uma semente está na classe Kaprekar antes de um passo de demonstração. A prática de concursos costuma precisar de uma fonte rápida e offline de respostas de Kaprekar, para que soluções possam ser verificadas sem baixar tabelas do OEIS.
Combine-a com um verificador de número de Smith quando precisar de somas de dígitos de fatores primos, com um verificador de número abundante quando precisar de classificação por soma de divisores, e com fatoração em primos quando precisar de potências primas em vez de divisões de quadrado.
Casos de uso
Classificação para tarefas e concursos
Decida se inteiros positivos são números de Kaprekar para planilhas de exercícios e verificações de concurso, verificando a soma da divisão do quadrado sem multiplicação longa manual.
Ensino de curiosidades de divisão de quadrado
Mostre aos alunos como os dígitos de n ao quadrado se recombinam em n enquanto eles mudam n ao vivo no navegador, sem custo.
Perguntas frequentes
O que acontece se n estiver abaixo de 1?
Números de Kaprekar aqui são definidos apenas para inteiros positivos n ≥ 1.
Como o teste de Kaprekar é calculado?
Eleve n ao quadrado com aritmética BigInt exata, depois tente cada divisão decimal do quadrado em partes esquerda e direita. Aceite a primeira divisão em que a parte direita não seja toda zero e left + right seja igual a n. O número 1 é Kaprekar por convenção (0 + 1).
O algoritmo é aleatorizado?
Não. Ele usa elevação ao quadrado com BigInt determinística e uma varredura exaustiva de divisões. O mesmo n sempre resulta no mesmo quadrado, partes e sinalizador kaprekar.
100 é um número de Kaprekar?
Não. Embora 100² = 10000 e 100 + 00 = 100, a parte direita é inteiramente zero, o que não é permitido. O verificador retorna corretamente kaprekar false.
Por que 45 é um número de Kaprekar?
Porque 45 ao quadrado é 2025, que pode ser dividido em 20 e 25. Somando as duas partes, obtém-se 45 de novo. A ferramenta mostra essas duas partes junto com o resultado.
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/kaprekar-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":45}'const res = await fetch("https://api.kit.forhosting.com/numth/kaprekar-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 45
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/kaprekar-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 45
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/kaprekar-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":45}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":45}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/kaprekar-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": 45
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.kaprekar_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.
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-o gratuitamente no navegador para tarefas de casa, preparação para concursos, e exploração estilo OEIS, ou chame a API por US$ 0,002 a cada solicitação bem-sucedida quando você automatiza pipelines de classificação, scripts de correção, ou demonstrações de ensino que precisam de respostas de Kaprekar reproduzíveis.
O que é um número de Kaprekar e o que a resposta contém
Campos ausentes, não inteiros, frações, notação científica, valores fora da faixa de inteiros seguros, e qualquer n abaixo de um falham com invalid_input e uma mensagem clara.
Como as entradas são lidas e como a divisão do quadrado permanece exata
O campo preferido é n como um número inteiro JSON, mas strings decimais e os apelidos number ou value são aceitos, para que formulários, planilhas e strings de consulta possam reutilizar um contrato. Internamente, o quadrado é calculado com BigInt, para que mesmo quando n se aproxima do teto de inteiro seguro, os dígitos decimais de n ao quadrado permaneçam exatos e nunca passem por doubles IEEE.
Onde as verificações de Kaprekar se encaixam no estudo, em demonstrações de pesquisa e no código
Nesta página, o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada, e nada é armazenado depois que a resposta é devolvida. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o padrão do restante do catálogo tier A do KIT e permite ir de uma demonstração em sala de aula a um pipeline automatizado sem mudar o resultado matemático.
Casos de integração
Fixtures de teste determinísticas
Gere casos Kaprekar e não Kaprekar reproduzíveis para testes unitários, verificações de propriedades e asserções de CI sem embutir despejos estáticos do OEIS.
Perguntas técnicas
Quanto custa o verificador de número de Kaprekar?
É gratuito no navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.