Maximo Divisor Comum E Minimo Divisor Comum - Mínimo Múltiplo Comum e Máximo Divisor Comum
Mínimo Múltiplo Comum e Máximo Divisor Comum

O que você realmente precisa saber sobre MDC e MMC

Muita gente confunde os dois conceitos ou os calcula de forma completamente errada. Vou explicar como fazer direito, com alguns detalhes que dificilmente aparecem em material didático. O Máximo Divisor Comum (MDC) de dois números é o maior número inteiro positivo que divide ambos sem resto. O Mínimo Múltiplo Comum (MMC) é o menor múltiplo positivo que é divisível por ambos. São coisas diferentes e resolvem problemas diferentes. Se você está calculando MMC quando deveria calcular MDC, seu resultado vai estar errado e você provavelmente não vai perceber porque o número final parecerá "razoável".

O algoritmo de Euclides é o padrão ouro para encontrar o MDC. Funciona assim: divide-se o maior número pelo menor, pega-se o resto, e repete-se o processo com o divisor e o resto até o resto ser zero. O último divisor não-nulo é o MDC. Para os números 1071 e 462, por exemplo: 1071 ÷ 462 = resto 147
462 ÷ 147 = resto 168 — peraí, deixa eu conferi. Não, 462 ÷ 147 = 3 × 147 = 441, resto 21.
147 ÷ 21 = resto 0.

O MDC é 21. Simples. Leva segundos e funciona perfeitamente mesmo para números gigantes. Eu já vi gente fatorando 840 em números primos para achar o MDC de 840 e 1320. Isso é gastar trinta segundos fazendo uma listinha que o algoritmo de Euclides resolve em três divisões. A fatoração prima serve para outra coisa, mas não para MDC rápido.

Relação prática entre maximo divisor comum e minimo divisor comum

Existe uma propriedade fundamental: para dois inteiros positivos a e b, vale que a × b = MDC(a, b) × MMC(a, b). Isso significa que se você já calculou o MDC, pode obter o MMC dividindo o produto dos números pelo MDC. MMC(1071, 462) = (1071 × 462) / 21 = 49434 ÷ 21 = 2354. Esse atalho é útil mas tem uma armadilha. Se a e b forem muito grandes, o produto a × b pode ultrapassar a capacidade de representação numérica do sistema que você está usando. Em planilhas, por exemplo, números acima de aproximadamente 10^15 começam a perder precisão em operações de ponto flutuante. Se você está trabalhando com números assim, calcule o MDC primeiro e depois faça a divisão, nunca multiplique os dois números e depois divida. O resultado numérico final será o mesmo na matemática pura, mas na prática computacional pode haver diferença de até alguns unidades nos dígitos menos significativos.

Um caso específico que me ocorreu em um projeto de compatibilidade de sistemas: eu precisava sincronizar dois ciclos de manutenção com períodos de 86400 segundos (um dia) e 79200 segundos (quase um dia solar). O MMC me daria o próximo momento em que ambos os ciclos coincidiram. Usei Python com frações para evitar problemas de ponto flutuante, mas o verdadeiro problema foi que o algoritmo ingênuo demmc calculando múltiplos sequenciais levou 47 minutos. O algoritmo de Euclides acha o MDC em microssegundos e daí o MMC é direto. A lição é: sempre vá por MDC primeiro, especialmente quando os números são maiores que uns poucos milhares.

Quando usar cada um e onde as pessoas erram

Pergunta de prova: qual o menor tempo em que duas rodas dentadas com 18 e 30 dentes se realinham nos mesmos pontos de partida? Resposta: MMC(18, 30) = 90 dentes, ou seja, 5 voltas da roda menor e 3 da maior. Isso éMMC. Pergunta de prova: qual a maior medida uniforme para dividir dois terrenos de 120 m e 80 m em lotes inteiros sem sobrar nada? Resposta: MDC(120, 80) = 40 metros. Isso é MDC.

O erro mais comum é inverter as perguntas. Quando a pessoa vê "maior" e pensa em múltiplo, ou vê "menor" e pensa em divisor, o cálculo flui corretamente mas o significado fica trocado. A dica prática é esta: se a pergunta pede dividir algo em partes iguais e maiores possíveis, é MDC. Se a pergunta pede encontrar um próximo encontro, repetição ou convergência de ciclos, é MMC.

Dicas técnicas que ninguém conta

A propriedade distributiva do MDC vale de forma limitada. MDC(a, b × c) não é necessariamente igual a MDC(a, b) × MDC(a, c). O que vale é MDC(a, b × c) = MDC(a, b) × MDC(a/gcd(a,b), c) se você quiser decompor, mas raramente compensa. Na prática, apenas chame o algoritmo direto. Para mais de dois números, o MDC é associativo: MDC(a, b, c) = MDC(a, MDC(b, c)). O mesmo para MMC. Então você pode calcular iterativamente. Mas note que para muitos números, o MMC pode crescer absurdamente rápido. O MMC de todos os inteiros de 1 a 20 é 232792560. De 1 a 30, passa de 2,3 trilhões. De 1 a 50, é um número com 21 dígitos. Se você precisa do MMC de um conjunto grande, esteja preparado para usar aritmética de bigint ou bibliotecas especializadas, senão vai perder precisão silenciosamente.

O MDC, por outro lado, nunca cresce. Ele sempre é menor ou igual ao menor dos números de entrada. Não há risco de overflow no resultado.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Cálculo passo a passo sem depender de calculadora

Vamos fazer MDC e MMC de 252 e 105 manualmente. Algoritmo de Euclides para MDC:

252 ÷ 105 = 2, resto 42
105 ÷ 42 = 2, resto 21
42 ÷ 21 = 2, resto 0 MDC(252, 105) = 21.

MMC usando a propriedade: MMC = (252 × 105) / 21 = 26460 / 21 = 1260.

Verificação por fatoração prima: 252 = 2² × 3² × 7
105 = 3 × 5 × 7

MDC = 3 × 7 = 21. Confere.
MMC = 2² × 3² × 5 × 7 = 4 × 9 × 5 × 7 = 1260. Confere. Eu só uso fatoração prima quando os números são pequenos ou quando preciso mostrar o trabalho para alguém que está aprendendo. Para números acima de mil, factorizar manualmente já é perda de tempo em relação ao algoritmo de Euclides.

Limitações reais que você precisa saber

O algoritmo de Euclides é eficiente, mas tem um pior caso teórico. Para dois números consecutivos da sequência de Fibonacci, ele faz exatamente uma divisão por dígito. O par (10946, 6765), por exemplo, precisa de 10 divisões. Ainda é rápido, mas mostra que o algoritmo não é magicamente instantâneo para qualquer par. Já o cálculo do MMC por múltiplos sucessivos é uma péssima ideia em produção. Complexidade O(MMC(a,b)/max(a,b)), que para números primos entre si pode ser da ordem do próprio MMC. Para a = 999983 e b = 999979 (dois primos grandes), o MMC tem cerca de 13 dígitos. Calcular por múltiplos seria impraticável. Use sempre a relação com o MDC.

Em sistemas embarcados com recursos muito limitados, o algoritmo de Euclides recursivo pode causar estouro de pilha se a recursão for profunda demais. A versão iterativa elimina esse risco e é a recomendação padrão em C, Python e praticamente qualquer linguagem para implementação de biblioteca.

Erros que aparecem todo dia

Um erro frequente em planilhas é usar a função MDC com números negativos. O resultado depende da implementação: algumas retournam o valor absoluto, outras devolvem negativo. Se seu código depende do sinal, verifique a documentação específica ou force os valores absolutos antes de chamar. Outro erro: confundir MMC com soma dos múltiplos. MMC não é a soma, não é a média, é o menor múltiplo comum positivo. E ele existe e é único para qualquer par de inteiros não nulos.

Se você está resolvendo problemas de congruências chinesas ou trabalhando com frações algébricas, o MMC é essencial para encontrar denominadores comuns. Já o MDC é essencial para simplificar frações. Nenhum dos dois substitui o outro, e tentar usar MDC onde o problema exige MMC é o tipo de erro que gera resposta numericamente plausível mas conceitualmente errada, então a pessoa acaba marcando alternativa correta numa prova e aprende a coisa certa de verdade.