Máximo divisor comum
Digite dois inteiros e receba o máximo divisor comum pelo algoritmo de Euclides: 48 e 18 dão 6 depois de três passos de resto, e 1071 e 462 dão 21. O sinal de menos não conta, então −48 e 18 também dão 6. 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
- A
- 48
- B
- 18
- Gcd
- 6
O máximo divisor comum de dois inteiros é o maior inteiro positivo que divide ambos sem deixar resto. Alunos encontram isso ao simplificar frações, quem programa usa em aquecimentos de concurso, e quem projeta precisa quando dois períodos, dentes de engrenagem ou tamanhos de ladrilho devem compartilhar uma medida comum. Esta calculadora aceita dois inteiros, executa o algoritmo clássico de Euclides sobre os valores absolutos e devolve o MDC não negativo junto com o número de passos de resto que levou.
O que é o máximo divisor comum e como Euclides o encontra
O máximo divisor comum de dois inteiros a e b é o maior inteiro positivo d que divide a e b com resto zero. Checagens clássicas de sala incluem quarenta e oito e dezoito, cujos divisores comuns são um, dois, três e seis, então o maior é seis; e mil setenta e um e quatrocentos e sessenta e dois, cujo máximo divisor comum é vinte e um. O algoritmo de Euclides nunca lista todos os divisores.
Usa a identidade de que qualquer divisor comum de a e b também é divisor comum de b e do resto a módulo b, então você substitui o par pelo número menor e esse resto e repete até o resto ser zero. O último resto diferente de zero é o MDC. Como o resto de JavaScript conserva o sinal do dividendo, esta calculadora primeiro toma valores absolutos, executa o laço e sempre informa um gcd não negativo.
Isso corresponde à convenção matemática usual: o mdc de menos doze e dezoito continua seis. Quando um argumento é zero e o outro não, o MDC é o valor absoluto do argumento não nulo, porque todo inteiro divide zero. Quando ambos os argumentos são zero não existe maior divisor comum positivo, então a solicitação é rejeitada em vez de devolver zero.
A resposta reitera os inteiros interpretados a e b, devolve gcd como esse resultado não negativo, informa steps como o número de operações de resto feitas na ordem dada e define method como euclidean para que clientes rotulem o algoritmo sem vasculhar o corpo da resposta.
Contrato de entrada, forma da resposta e erros
Os valores devem ser inteiros seguros e finitos, então magnitudes além do teto de inteiros seguros de JavaScript são rejeitadas em vez de perder bits baixos em silêncio. Falta de a, falta de b, cadeias vazias e tipos não numéricos também falham, e essas falhas não são cobradas. Se a e b forem ambos zero, o tratador rejeita a solicitação porque o mdc de zero e zero fica indefinido neste contrato.
No sucesso o corpo inclui os inteiros reiterados a e b, o gcd não negativo, a contagem de passos de resto e a cadeia method euclidean. Exemplo: a igual a quarenta e oito e b igual a dezoito produz gcd seis após três passos de resto, porque quarenta e oito módulo dezoito é doze, dezoito módulo doze é seis e doze módulo seis é zero. Exemplo: a igual a menos quarenta e oito e b igual a dezoito ainda produz gcd seis, porque os sinais são removidos antes do laço.
Combine o gcd numérico com o seu próprio código de redução de frações se precisar de numerador e denominador já simplificados; este extremo calcula só o divisor e não emite fatores primos, coeficientes de Bézout nem um mínimo múltiplo comum.
Onde uma calculadora de MDC de dois inteiros justifica o uso
Salas de aula e plataformas de tutoria usam uma calculadora de máximo divisor comum para que aprendizes confrontem uma tabela de restos euclidianos escrita à mão com um resultado canônico, sem esperar o professor perceber um resto omitido. Geradores de prova e plugins de gestão da aprendizagem precisam de um oráculo determinístico que rejeite 12.5 em vez de truncá-lo em silêncio para 12 e marcar como certa uma tentativa sortuda.
Páginas irmãs cobrem uma calculadora combinada de MDC e MMC de listas, um verificador de coprimos que destaca se o gcd vale um, o algoritmo de Euclides estendido que também devolve coeficientes de Bézout, e o MDC de polinômios sobre arranjos de coeficientes; esta página responde só à pergunta do máximo divisor comum de dois inteiros. Validação falha não consome saldo.
Mantenha as solicitações dentro dos inteiros seguros, fixe o gcd nos testes e você obtém divisores reproduzíveis para lição de casa, plugins LMS e workers de borda sem montar infraestrutura simbólica própria.
Casos de uso
Checagens de resto euclidiano em sala
Deixe os alunos enviarem dois inteiros e conferirem o MDC e a contagem de passos de resto contra a tabela euclidiana que escreveram à mão.
Redução de frações aos termos mínimos
Divida um numerador e um denominador pelo MDC para que uma razão já esteja nos termos mínimos antes de exibir, corrigir ou seguir a aritmética.
Medidas compartilhadas em horários e engrenagens
Encontre o maior inteiro que mede dois períodos, contagens de dentes ou comprimentos de ladrilho para padrões periódicos alinharem sem uma biblioteca completa de álgebra computacional.
Perguntas frequentes
Como calcular o máximo divisor comum de dois inteiros?
A resposta inclui o gcd não negativo, a contagem de passos de resto euclidianos e method igual a euclidean.
O algoritmo de Euclides funciona com negativos e zero?
Sim. Os sinais são removidos primeiro, então gcd(-48, 18) é 6. gcd(n, 0) é |n| quando o outro valor não é zero. Ambos zeros são rejeitados como indefinidos.
O que acontece se eu enviar um decimal em vez de um inteiro?
Esta calculadora não trunca 12.5 para 12; validação falha não é cobrada.
Qual a diferença para uma calculadora de MDC e MMC ou um verificador de coprimos?
Esta página devolve só o máximo divisor comum de dois inteiros. MDC-MMC combinado, flags de coprimalidade, coeficientes de Bézout e MDC de polinômios são páginas separadas.
O que significa o número de passos?
É a quantidade de divisões com resto que o algoritmo de Euclides precisou fazer. Para 48 e 18 são três: 48 dividido por 18 deixa 12, 18 dividido por 12 deixa 6 e 12 dividido por 6 não deixa resto.
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/greatest-common-divisor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":48,"b":18}'const res = await fetch("https://api.kit.forhosting.com/math/greatest-common-divisor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 48,
"b": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/greatest-common-divisor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 48,
"b": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/greatest-common-divisor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":48,"b":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":48,"b":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/greatest-common-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
{
"a": 48,
"b": 18
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.greatest_common_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_abs | 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
Não inteiros, campos ausentes e o par indefinido zero e zero falham com invalid_input e não são cobrados.
Contrato de entrada, forma da resposta e erros
Envie um corpo JSON com dois campos inteiros obrigatórios chamados a e b. Cada campo pode chegar como inteiro JSON ou como cadeia decimal aparada com sinal inicial opcional; espaços embutidos, frações, notação científica, booleanos, objetos e zeros à esquerda em cadeias de vários dígitos falham com invalid_input nomeando o campo. Não há aleatoriedade, nem relógio, nem rede: duas solicitações idênticas produzem sempre o mesmo JSON.
Onde uma calculadora de MDC de dois inteiros justifica o uso
Ferramentas de agendamento, cadernos de relação de engrenagens e scripts de ladrilhamento muitas vezes precisam da maior medida compartilhada de dois comprimentos inteiros para um padrão periódico alinhar; chamar uma API pequena de análise evita puxar um sistema de álgebra computacional para um laço de resto de dois números. Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Perguntas técnicas
Quanto custa a calculadora de máximo divisor comum?
O widget do navegador é grátis e roda localmente. Chamadas à API usam saldo pré-pago KIT no preço-base publicado US$ 0,002; entrada inválida não é cobrada.