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)