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.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
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.
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.
Vamos a crear un nuevo archivo C llamado main.c
en el directorio ~/proyecto/
donde escribiremos nuestro programa.
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;
}
}
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.
Vamos a entender el código que acabamos de escribir.
#include<stdio.h>
.find_lcm
que definiremos más adelante en nuestro programa. Esto es necesario porque estamos llamando a la función find_lcm
en nuestra función principal antes de su definición real.a
, b
y lcm
.printf
y aceptamos la entrada usando scanf
.find_lcm
y le pasamos a
y b
como argumentos.find_lcm
toma dos argumentos enteros a
y b
y devuelve el MCM de los dos números usando recursividad.temp
a 1, que contendrá el valor actual que estamos comprobando para ver si es múltiplo.temp
es múltiplo de tanto a
como b
.temp
como el MCM.temp
y llamamos recursivamente a la función find_lcm
hasta que encontremos el MCM.Prueba el programa con diferentes valores de entrada y verifica que produzca la salida correcta del MCM.
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;
}
}
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.