Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

sábado, 24 de mayo de 2014

Como Hallar el Mínimo Común Múltiplo en Python

Como Hallar el Mínimo Común Múltiplo en Python
Continuamos con las entradas en las que estamos viendo cómo implementar el Algoritmo para hallar el mínimo común múltiplo en varios lenguajes de programación, el cual explicamos ya hace varios días (haz clic aquí para leer el artículo).

Y bueno, en esta ocasión lo haremos en Python, y al igual que en los otros lenguajes, implementaremos las dos formas que estudiamos: mediante el algoritmo de Euclides, y mediante la iteración en los valores positivos enteros menores o igual al menor de los dos números entre los cuales deseamos hallar el mcm.

Primero veamos la forma con el Algoritmo de Euclides:

import math

""" Funcion para hallar el Maximo Comun Divisor """
def mcd(num1, num2):
    a = max(num1, num2)
    b = min(num1, num2)
    while b!=0:
        mcd = b
        b = a%b
        a = mcd
    return mcd

""" Funcion para hallar el Minimo Comun Multiplo """
def mcm(num1, num2):
    a = max(num1, num2)
    b = min(num1, num2)
    mcm = (a / mcd(a, b)) * b
    return mcm

""" Funcion Principal """
# Pedimos los datos al usuario
num1 = int(raw_input("Ingrese el primer numero\n"))
num2 = int(raw_input("Ingrese el segundo numero\n"))
# Mostramos el resultado en pantalla
print("El M.C.M. entre "+str(num1)+" y "+str(num2)+" es: "+str(mcm(num1, num2)))
raw_input()

Ahora veamos la segunda forma:

import math
# Pedimos al usuario que ingrese los números
num1 = int(raw_input("Ingrese el primer numero\n"))
num2 = int(raw_input("Ingrese el segundo numero\n"))
# Seleccionamos el menor entre num1 y num2
menor = min(num1,num2)
# Realizamos un ciclo for para iterar entre
# 1 y el menor de los dos numeros
for i in range(1,menor):
    # Comprobamos la division exacta de num1 y num2 entre todos
    # todos los valores que toma i en el ciclo
    if (num1%i==0 and num2%i==0):
        # La división puede ser exacta para varios valores de i,
        # sin embargo sólo será mcd el último de estos valores
        mcd = i
        # Calculamos el Mínimo Común Múltiplo
        mcm = (num1*num2)/mcd
# Mostramos el resultado en pantalla
print("El M.C.M. entre "+str(num1)+" y "+str(num2)+" es: "+str(mcm))
raw_input()

Bueno, sólo nos resta probar el código, dejando por claro nuevamente que a pesar de que el primero es más efectivo pues se halla el resultado en menos iteraciones que el segundo, en cualquiera de los dos casos debe darnos el mismo resultado.

Así que haremos la prueba nuevamente con los números 12 y 18, lo cual debe arrojarnos como resultado el número 36:

Salida en Pantalla - Como Hallar el Mínimo Común Múltiplo en Python

No hay comentarios.:

Publicar un comentario