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:
Ahora veamos la segunda forma:
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:
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:
No hay comentarios.:
Publicar un comentario