Aplicar o Algoritmo de Euclides
Neste passo, você implementará o algoritmo de Euclides para encontrar o Máximo Divisor Comum (MDC) de dois inteiros.
Abra o arquivo gcd.c anterior e modifique-o para incluir o cálculo do MDC:
cd ~/project
nano gcd.c
Atualize o código com a implementação do algoritmo de Euclides:
#include <stdio.h>
// Função para calcular o MDC usando o algoritmo de Euclides
int calculateGCD(int a, int b) {
// Garantir números positivos
a = (a > 0) ? a : -a;
b = (b > 0) ? b : -b;
// Algoritmo de Euclides
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
int main() {
int num1, num2, gcd;
printf("Digite o primeiro inteiro: ");
scanf("%d", &num1);
printf("Digite o segundo inteiro: ");
scanf("%d", &num2);
// Calcular o MDC
gcd = calculateGCD(num1, num2);
printf("Primeiro número: %d\n", num1);
printf("Segundo número: %d\n", num2);
printf("Máximo Divisor Comum: %d\n", gcd);
return 0;
}
Vamos analisar a implementação do algoritmo de Euclides:
- O algoritmo divide repetidamente o número maior pelo número menor.
- Ele usa o operador módulo
% para obter o resto.
- O processo continua até que o resto se torne 0.
- O último resto não nulo é o MDC.
Compile e execute o programa:
gcc gcd.c -o gcd
./gcd
Exemplo de saída:
Digite o primeiro inteiro: 48
Digite o segundo inteiro: 18
Primeiro número: 48
Segundo número: 18
Máximo Divisor Comum: 6