MDC em C/C++

#include <stdio.h>
#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:






Palavras-Chaves: Máximo Divisor Comum, Números, Estrutura de Seleção, Laço de Repetição, Programação em C/C++.



Artigos relacionados em C/C++: