Mínimo Común Múltiplo para dos y más números en C

📂 Archivo técnico

Este contenido lo publiqué en un blog anterior durante mis primeros proyectos. Hoy lo conservo aquí como referencia y ejemplo práctico para quienes quieran reforzar la lógica de programación.

En esta entrada comparto el código de dos programas. El primero permite calcular el MCM de dos números y el segundo funciona para varios números. También comparto el video con la explicación detallada.

1. Mínimo común múltiplo para dos números en C

				
					#include <stdio.h>

int main()
{
    int numero1, numero2, producto;
    int residuo, mcd, mcm;

    printf("Numero1: ");
    scanf("%d", &numero1);

    printf("Numero2: ");
    scanf("%d", &numero2);

    producto = numero1 * numero2;

    do
    {
        residuo = numero1 % numero2;

        if (residuo != 0)
        {
            numero1 = numero2;
            numero2 = residuo;
        }
        else
        {
            mcd = numero2;
        }

    } while (residuo != 0);

    mcm = producto / mcd;

    printf("El mcm es: %d\n", mcm);

    getchar();
    getchar();

    return 0;
}
				
			

2. Mínimo común múltiplo para varios números en C

Forma 1

				
					#include <stdio.h>

int main()
{
    int numero;
    int residuo, mcm, i, n;
    int producto;

    printf("Ingrese la cantidad de numeros: ");
    scanf("%d", &n);

    for (i = 1; i <= n; i++)
    {
        printf("Numero %d: ", i);
        scanf("%d", &numero);

        if (i == 1)
        {
            mcm = numero;
            producto = numero;
        }
        else
        {
            producto = mcm * numero;

            do
            {
                residuo = mcm % numero;
                mcm = numero;
                numero = residuo;
            } while (residuo != 0);

            mcm = producto / mcm;
        }
    }

    printf("El mcm es: %d\n", mcm);

    getchar();
    getchar();

    return 0;
}
				
			

Forma 2

				
					#include <stdio.h>

int main() {
    int numero, numeroSiguiente;
    int residuo, mcd, mcm, i, numeros;
    int producto;

    printf("Ingrese la cantidad de numeros: ");
    scanf("%d", &numeros);

    for (i = 1; i <= numeros; ++i) {
        if (i == 1) {
            printf("Ingrese numero: ");
            scanf("%d", &numero);

        } else {
            printf("Ingrese siguiente numero: ");
            scanf("%d", &numeroSiguiente);

            // producto
            producto = numero * numeroSiguiente;

            // mcd
            do {
                residuo = numero % numeroSiguiente;
                numero = numeroSiguiente;
                numeroSiguiente = residuo;
            } while (residuo != 0);

            mcd = numero;

            // mcm
            mcm = producto / mcd;

            // Preparar los datos para la siguiente iteración
            numero = mcm;
        }
    }

    printf("MCM: %d\n", mcm);

    return 0;
}
				
			

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio