Introducción
En este laboratorio, escribiremos un programa en C para encontrar el MCM (Mínimo Común Múltiplo) de dos números usando recursividad. El MCM es el entero positivo más pequeño que es divisible por ambos números sin dejar ningún residuo.
Comprende el concepto de MCM
Antes de comenzar con la programación, comprendamos el concepto de MCM. El MCM de dos enteros es el entero positivo más pequeño que es múltiplo de ambos números. Para encontrar el MCM de dos números, podemos usar la siguiente fórmula:
MCM = (número1 * número2) / MCD
Donde número1 y número2 son los dos números para los cuales necesitamos encontrar el MCM y MCD es el Máximo Común Divisor de los dos números.
Crea un nuevo archivo C
Vamos a crear un nuevo archivo C llamado main.c en el directorio ~/proyecto/ donde escribiremos nuestro programa.
Escribe el código
Copie y pegue el siguiente código en el archivo main.c.
#include<stdio.h>
int find_lcm(int, int); // declaración del prototipo de función
int main()
{
int a, b, lcm;
printf("Ingrese dos enteros para encontrar el MCM:\n");
scanf("%d %d", &a, &b);
lcm = find_lcm(a, b); // llamada a la función
printf("El MCM de %d y %d es %d.\n", a, b, lcm);
return 0;
}
int find_lcm(int a, int b) // definición de la función
{
static int temp = 1;
if(temp % a == 0 && temp % b == 0)
return temp;
else
{
temp++;
find_lcm(a, b);
return temp;
}
}
Compila y ejecuta el programa
Guarde el archivo main.c y compile el programa usando el siguiente comando en la terminal:
gcc main.c -o main
Ejecute el programa usando el siguiente comando:
./main
Ingrese dos enteros cuando se le solicite y el programa mostrará el MCM de los dos números.
Comprende el código
Vamos a entender el código que acabamos de escribir.
- Primero incluimos la biblioteca de entrada y salida estándar en nuestro programa usando
#include<stdio.h>. - Declaramos el prototipo de la función
find_lcmque definiremos más adelante en nuestro programa. Esto es necesario porque estamos llamando a la funciónfind_lcmen nuestra función principal antes de su definición real. - En la función principal, declaramos tres variables enteras
a,bylcm. - Pedimos al usuario que ingrese dos enteros usando
printfy aceptamos la entrada usandoscanf. - Luego llamamos a la función
find_lcmy le pasamosaybcomo argumentos. - La función
find_lcmtoma dos argumentos enterosayby devuelve el MCM de los dos números usando recursividad. - Inicializamos una variable estática
tempa 1, que contendrá el valor actual que estamos comprobando para ver si es múltiplo. - En cada recursión, comprobamos si
tempes múltiplo de tantoacomob. - Si es múltiplo, devolvemos
tempcomo el MCM. - Si no es múltiplo, incrementamos
tempy llamamos recursivamente a la funciónfind_lcmhasta que encontremos el MCM.
Prueba el programa
Prueba el programa con diferentes valores de entrada y verifica que produzca la salida correcta del MCM.
Código completo
Aquí está el código completo del programa en C para encontrar el MCM de dos números usando recursividad:
#include<stdio.h>
int find_lcm(int, int); // declaración del prototipo de función
int main()
{
int a, b, lcm;
printf("Ingrese dos enteros para encontrar el MCM:\n");
scanf("%d %d", &a, &b);
lcm = find_lcm(a, b); // llamada a la función
printf("El MCM de %d y %d es %d.\n", a, b, lcm);
return 0;
}
int find_lcm(int a, int b) // definición de la función
{
static int temp = 1;
if(temp % a == 0 && temp % b == 0)
return temp;
else
{
temp++;
find_lcm(a, b);
return temp;
}
}
Resumen
En este laboratorio, aprendimos cómo escribir un programa en C para encontrar el MCM de dos números usando recursividad. Utilizamos una función recursiva para encontrar el MCM y explicamos cada paso del programa en detalle. También aprendimos cómo compilar y ejecutar un programa en C usando la terminal.



