Calculadora de divisores
O 28 tem exatamente seis divisores, e você vê todos em ordem crescente, do 1 até o próprio 28, junto com a contagem. Digite qualquer inteiro até um trilhão para saber se ele é primo ou em quantos grupos iguais se divide. 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
- 28
- Quantidade
- 6
- Divisores
- 1, 2, 4, 7, 14, 28
Os divisores são a base da teoria elementar dos números: determinam se um número é primo, como uma quantidade pode ser dividida em partes iguais e o que simplifica uma fração, uma razão ou um cronograma. Em vez de testar candidatos um a um em uma planilha ou script, você envia um número e recebe a resposta completa e exata em uma única chamada determinística. O mesmo código que responde aqui roda grátis no seu navegador nesta página.
O que é um divisor e por que a lista completa importa
Um divisor de um número n é qualquer inteiro positivo d tal que n dividido por d não deixa resto. Todo número tem pelo menos dois deles — um e ele mesmo — e os primos têm exatamente esses dois.
Conhecer os divisores de um número por completo, e não apenas se um candidato específico o divide, resolve a maioria das perguntas que as pessoas realmente fazem sobre inteiros: se n é primo, qual pode ser o máximo divisor comum com outro número, em quantos grupos iguais uma quantidade pode ser dividida ou quais denominadores fazem uma fração ser exata. Uma resposta parcial obriga você a continuar adivinhando; uma lista completa e ordenada resolve a questão de uma vez.
Como a lista é calculada
O algoritmo é a divisão por tentativa até a raiz quadrada de n, o método exato clássico para este problema. Os divisores vêm em pares: sempre que um número pequeno i divide n, o quociente n/i também é divisor, então o laço só precisa chegar à raiz quadrada para descobrir todos os divisores do conjunto.
Cada passagem coleta a metade menor de cada par em ordem crescente e a metade maior em ordem decrescente, e unir as duas metades produz a lista final já ordenada, sem etapa extra de ordenação e sem ponto flutuante. O tempo de execução cresce com a raiz quadrada da entrada, então mesmo um número na casa dos bilhões é respondido em milissegundos, e o limite máximo publicado mantém o pior caso confortavelmente dentro de uma requisição do plano gratuito.
Casos de uso
Verificar se um número é primo
Um número com exatamente dois divisores — um e ele mesmo — é primo. O campo count responde diretamente, e a lista mostra o menor fator quando não é.
Dividir uma quantidade em grupos iguais
Encontre todo tamanho de equipe, comprimento de lote ou quantidade de pacotes que divide um estoque exatamente, sem resto, antes de decidir a distribuição.
Preparar um exercício de teoria dos números
Gere a resposta resolvida de exercícios sobre divisores — a lista completa e a contagem — para corrigir tarefas ou criar exemplos para uma aula.
Perguntas frequentes
Quanto custa?
O mesmo cálculo também pode ser executado gratuitamente no seu navegador nesta página.
Que entrada ele aceita?
Um único inteiro positivo no campo n, até o máximo publicado de 1000000000000.
O que é retornado exatamente?
Um objeto com n (o número enviado), count (quantos divisores ele tem) e divisors (a lista completa, em ordem crescente).
Ele encontra apenas os divisores próprios?
Não. A lista inclui 1 e o próprio número, portanto é o conjunto completo de divisores positivos, não apenas os próprios.
Posso usá-lo para testar primalidade?
Sim. Se a contagem for exatamente 2, o número é primo; se for 1, o número é 1; qualquer valor maior significa que o número é composto.
O resultado é sempre idêntico para a mesma entrada?
Sim. O cálculo é aritmética inteira pura, sem aleatoriedade, relógios ou rede, então o mesmo n sempre produz a mesma resposta.
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/math/divisor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":28}'const res = await fetch("https://api.kit.forhosting.com/math/divisor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 28
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/divisor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 28
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/divisor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":28}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":28}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/divisor", 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": 28
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.divisor",
"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 | 1000000000000 |
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 API de divisores recebe um único inteiro positivo e retorna todos os inteiros positivos que o dividem exatamente, em uma lista ordenada junto com a contagem total.
O que é um divisor e por que a lista completa importa
É por isso que este endpoint retorna o conjunto inteiro em vez de uma verificação de sim ou não, e por que também retorna a contagem, já que o número de divisores por si só classifica os números em primos, compostos e os raros altamente compostos, que concentram muitos divisores em um valor pequeno.
Como a lista é calculada
Como o cálculo é aritmética inteira pura, sem aleatoriedade, relógios ou rede, a mesma entrada sempre produz exatamente a mesma saída, byte a byte, o que permite que a versão gratuita no navegador nesta página prometa exatamente aquilo que a API paga cobra.
Validação, limites e erros
Zero e números negativos são rejeitados porque a divisibilidade aqui é definida sobre inteiros positivos, e valores não inteiros como 12.5 são rejeitados porque o conceito de divisor exato não se aplica a eles; valores acima do limite publicado são rejeitados para manter cada requisição dentro do custo previsto. Não há paginação nem truncamento — a lista é sempre completa para qualquer entrada aceita. O endpoint aceita um campo, n, que deve ser um inteiro positivo. Cada rejeição retorna como um erro estruturado invalid_input que informa exatamente qual regra foi violada, permitindo que um pipeline exiba uma mensagem útil em vez de uma falha genérica. Uma entrada válida retorna um único objeto JSON com três campos: n repete o número enviado, count é o total de divisores e divisors é a lista ordenada completa. A execução acontece na nossa edge global sem armazenar nada depois, a US$ 0,002 por requisição via API, e o mesmo cálculo roda grátis no seu navegador se você só precisa de uma resposta ocasional feita à mão.