Python - Máximo Común Divisor (MCD) & Mínimo Común Múltiplo (MCM)

#30 ejemplos de funciones en Python #para calcular el máximo común divisor (MCD) #y el mínimo común múltiplo (MCM): #1. Función para calcular el máximo común divisor de dos números: def mcd(a, b): while b: a, b = b, a % b return a #2. Función para calcular el mínimo común múltiplo de dos números: def mcm(a, b): return a * b // mcd(a, b) #3. Función para calcular el máximo común divisor de una lista de números: def mcd_lista(numeros): res = numeros[0] for i in range(1, len(numeros)): res = mcd(res, numeros[i]) return res #4. Función para calcular el mínimo común múltiplo de una lista de números: def mcm_lista(numeros): res = numeros[0] for i in range(1, len(numeros)): res = mcm(res, numeros[i]) return res #5. Función para calcular el máximo común divisor de tres números: def mcd_tres(a, b, c): return mcd(mcd(a, b), c) #6. Función para calcular el mínimo común múltiplo de tres números: def mcm_tres(a, b, c): return mcm(mcm(a, b), c) #7. Función para calcular el máximo común divisor de cuatro números: def mcd_cuatro(a, b, c, d): return mcd(mcd(mcd(a, b), c), d) #8. Función para calcular el mínimo común múltiplo de cuatro números: def mcm_cuatro(a, b, c, d): return mcm(mcm(mcm(a, b), c), d) #9. Función para calcular el máximo común divisor de una fracción: def mcd_fraccion(a, b): return mcd(a, b) #10. Función para calcular el mínimo común múltiplo de una fracción: def mcm_fraccion(a, b): return mcm(a, b) #11. Función para calcular el máximo común divisor de dos números usando recursividad: def mcd_recursivo(a, b): if b == 0: return a else: return mcd_recursivo(b, a % b) #12. Función para calcular el mínimo común múltiplo de dos números usando recursividad: def mcm_recursivo(a, b): return a * b // mcd_recursivo(a, b) #13. Función para calcular el máximo común divisor de una lista de números usando recursividad: def mcd_lista_recursivo(numeros): if len(numeros) == 1: return numeros[0] else: return mcd(numeros[0], mcd_lista_recursivo(numeros[1:])) #14. Función para calcular el mínimo común múltiplo de una lista de números usando recursividad: def mcm_lista_recursivo(numeros): if len(numeros) == 1: return numeros[0] else: return mcm(numeros[0], mcm_lista_recursivo(numeros[1:])) #15. Función para calcular el máximo común divisor de tres números usando recursividad: def mcd_tres_recursivo(a, b, c): return mcd(mcd(a, b), c) #16. Función para calcular el mínimo común múltiplo de tres números usando recursividad: def mcm_tres_recursivo(a, b, c): return mcm(mcm(a, b), c) #17. Función para calcular el máximo común divisor de cuatro números usando recursividad: def mcd_cuatro_recursivo(a, b, c, d): return mcd(mcd(mcd(a, b), c), d) #18. Función para calcular el mínimo común múltiplo de cuatro números usando recursividad: def mcm_cuatro_recursivo(a, b, c, d): return mcm(mcm(mcm(a, b), c), d) #19. Función para calcular el máximo común divisor de una fracción usando recursividad: def mcd_fraccion_recursivo(a, b): if b == 0: return a else: return mcd_fraccion_recursivo(b, a % b) #20. Función para calcular el mínimo común múltiplo de una fracción usando recursividad: def mcm_fraccion_recursivo(a, b): return a * b // mcd_fraccion_recursivo(a, b) #21. Función para calcular el máximo común divisor de dos números usando el algoritmo de Euclides extendido: def mcd_extendido(a, b): if b == 0: return a, 1, 0 else: d, x, y = mcd_extendido(b, a % b) return d, y, x - (a // b) * y #22. Función para calcular el mínimo común múltiplo de dos números usando el algoritmo de Euclides extendido: def mcm_extendido(a, b): d, x, y = mcd_extendido(a, b) return a * b // d #23. Función para calcular el máximo común divisor de una lista de números usando el algoritmo de Euclides extendido: def mcd_lista_extendido(numeros): res = numeros[0] for i in range(1, len(numeros)): d, x, y = mcd_extendido(res, numeros[i]) res = d return res #24. Función para calcular el mínimo común múltiplo de una lista de números usando el algoritmo de Euclides extendido: def mcm_lista_extendido(numeros): res = numeros[0] for i in range(1, len(numeros)): res = mcm_extendido(res, numeros[i]) return res #25. Función para calcular el máximo común divisor de tres números usando el algoritmo de Euclides extendido: def mcd_tres_extendido(a, b, c): return mcd_extendido(mcd_extendido(a, b)[0], c)[0] #26. Función para calcular el mínimo común múltiplo de tres números usando el algoritmo de Euclides extendido: def mcm_tres_extendido(a, b, c): return mcm_extendido(mcm_extendido(a, b), c) #27. Función para calcular el máximo común divisor de cuatro números usando el algoritmo de Euclides extendido: def mcd_cuatro_extendido(a, b, c, d): return mcd_extendido(mcd_extendido(mcd_extendido(a, b)[0], c)[0], d)[0] #28. Función para calcular el mínimo común múltiplo de cuatro números usando el algoritmo de Euclides extendido: def mcm_cuatro_extendido(a, b, c, d): return mcm_extendido(mcm_extendido(mcm_extendido(a, b), c), d) #29. Función para calcular el máximo común divisor de una fracción usando el algoritmo de Euclides extendido: def mcd_fraccion_extendido(a, b): d, x, y = mcd_extendido(a, b) return d #30. Función para calcular el mínimo común múltiplo de una fracción usando el algoritmo de Euclides extendido: def mcm_fraccion_extendido(a, b): return a * b // mcd_fraccion_extendido(a, b)

Geogebra Python