#include <stdlib.h>
int main(void) {
/*
Site: http://programjm.blogspot.com.br/
Author: João Matheus Santos Assis.
Creation date: 24/07/2012.
Last updated: 19/06/2016.
Description: Este programa fornece o MDC de dois números
A e B digitados pelo usuário.
*/
int A, B, maior, mdc;
mdc = 1; // Inicializando a variável.
printf("\n\t\tMAXIMO DIVISOR COMUM DE A e B\n\n");
printf(" A..: ");
scanf("%d", &A);
printf(" B..: ");
scanf("%d", &B);
printf("\n\n"); // Duas quebras de linha.
/*
Verificação do maior número digitado pelo usuário.
A variável maior é inicializada com A,
considerando que A possa ser igual a B.
Caso contrário os if's indicaram o maior valor.
*/
maior = A;
if (A > B) maior = A;
if (B > A) maior = B;
printf(" MDC (%d,%d): ", A, B);
/*
O Laço de Repetição (for) deve variar de 2
(Um número não pode ser dividido por 0 e
todo número dividido por 1 tem resto 0)
ao maior número digitado pelo usuário (A ou B).
*/
for (int i = 2; i <= maior; ++i) {
/*
Enquanto o resto da divisão for igual a zero a variável mdc
irá ser multiplicada por i (divisor simultâneo de A e B).
*/
while ((A % i == 0) && (B % i == 0)) {
A = A / i;
B = B / i;
mdc = mdc * i;
}
}
// Exibindo o MDC de A e B.
printf("%d\n\n", mdc);
system("pause");
return 0;
}
Feito no Dev C++ 4.9.9.2 | Executável |
Verificação do Máximo Divisor Comum (MDC) pelo método tradicional:
Artigos relacionados em C/C++:
- Construindo uma tabuada no Visual Studio 2011
- Adivinhando um número em C/C++
- Programa com operações matemáticas C/C++
- Programa com todos os comandos em C/C++
- Exponenciação de dois números inteiros x e y em C/C++
- Divisores de um número em C/C++
- Sequência de Fibonacci em C/C++
- Multiplicando duas matrizes em C/C++
- Desejando Feliz dia do amigo em C/C++
- Convertendo dólar para real em C/C++
- Volume de uma pirâmide em C/C++