Aplicar el Algoritmo de Euclides
En este paso, implementarás el algoritmo de Euclides para encontrar el Máximo Común Divisor (MCD) de dos enteros.
Abre el archivo gcd.c anterior y modifícalo para incluir el cálculo del MCD:
cd ~/project
nano gcd.c
Actualiza el código con la implementación del algoritmo de Euclides:
#include <stdio.h>
// Función para calcular el MCD usando el algoritmo de Euclides
int calculateGCD(int a, int b) {
// Asegurar 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("Ingrese el primer entero: ");
scanf("%d", &num1);
printf("Ingrese el segundo entero: ");
scanf("%d", &num2);
// Calcular el MCD
gcd = calculateGCD(num1, num2);
printf("Primer número: %d\n", num1);
printf("Segundo número: %d\n", num2);
printf("Máximo Común Divisor: %d\n", gcd);
return 0;
}
Analicemos la implementación del algoritmo de Euclides:
- El algoritmo divide repetidamente el número mayor por el número menor.
- Utiliza el operador módulo
% para obtener el resto.
- El proceso continúa hasta que el resto se convierte en 0.
- El último resto no nulo es el MCD.
Compila y ejecuta el programa:
gcc gcd.c -o gcd
./gcd
Salida de ejemplo:
Ingrese el primer entero: 48
Ingrese el segundo entero: 18
Primer número: 48
Segundo número: 18
Máximo Común Divisor: 6