You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mcm = [] # Lista para almacenar los factores primos comunes y no comunes
# Si n1 o n2 es un número primo, lo agregamos a la lista y lo reducimos a 1
if n1 in primos:
mcm.append(n1)
n1 = 1
if n2 in primos:
mcm.append(n2)
n2 = 1
# Mientras n1 o n2 sean mayores que 1, continuamos factorizando
while n1 > 1 or n2 > 1:
# Recorremos la lista de primos para encontrar divisores comunes o no comunes
for i in primos:
if n1 % i == 0 and n2 % i == 0:
# Si ambos números son divisibles por el primo i, se agrega a la lista mcm
mcm.append(i)
n1 = n1 / i
n2 = n2 / i
else:
if n1 % i == 0:
# Si solo n1 es divisible por i, lo agregamos a la lista mcm
mcm.append(i)
n1 = n1 / i
if n2 % i == 0:
# Si solo n2 es divisible por i, lo agregamos a la lista mcm
mcm.append(i)
n2 = n2 / i
# Multiplicamos todos los factores almacenados en la lista mcm para obtener el MCM
multi = 1
for i in range(len(mcm)):
multi = mcm[i] * multi
return multi # Retornamos el MCM
divisores_1 = [] # Lista para almacenar los divisores primos de n1
divisores_2 = [] # Lista para almacenar los divisores primos de n2
# Si n1 o n2 es un número primo, lo agregamos a la lista de divisores y lo reducimos a 1
if n1 in primos:
divisores_1.append(n1)
n1 = 1
if n2 in primos:
divisores_2.append(n2)
n2 = 1
# Mientras n1 o n2 sean mayores que 1, continuamos factorizando
while n1 > 1 or n2 > 1:
# Recorremos la lista de primos para encontrar divisores
for i in primos:
if n1 % i == 0:
# Si n1 es divisible por el primo i, lo agregamos a la lista divisores_1
divisores_1.append(i)
n1 = n1 / i
if n2 % i == 0:
# Si n2 es divisible por el primo i, lo agregamos a la lista divisores_2
divisores_2.append(i)
n2 = n2 / i
# Ordenamos las listas de divisores en orden descendente
divisores_1.sort(reverse=True)
divisores_2.sort(reverse=True)
# Copiamos las listas para manipularlas sin afectar las originales
temp_lista1 = divisores_1.copy()
temp_lista2 = divisores_2.copy()
comunes = [] # Lista para almacenar los divisores comunes
# Recorremos los divisores de n1
for elemento in divisores_1:
if elemento in temp_lista2:
# Contamos las ocurrencias en ambas listas temporales
count1 = temp_lista1.count(elemento)
count2 = temp_lista2.count(elemento)
# Añadimos el elemento el número mínimo de veces que aparece en ambas listas
for _ in range(min(count1, count2)):
comunes.append(elemento)
# Eliminamos todas las ocurrencias del elemento de las listas temporales
temp_lista1 = [x for x in temp_lista1 if x != elemento]
temp_lista2 = [x for x in temp_lista2 if x != elemento]
# Multiplicamos los divisores comunes para obtener el MCD
resultado = 1
for i in range(len(comunes)):
resultado = comunes[i] * resultado
return resultado # Retornamos el MCD
Ejemplo de uso de las funciones
print(f"El mínimo común múltiplo es: {mcm(18, 11)}")
print(f"El máximo común divisor es: {mcd(380, 420)}")
The text was updated successfully, but these errors were encountered:
"""
/*
*/
"""
def mcm(n1, n2):
# Lista de números primos utilizados para factorizar n1 y n2
primos = [
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
59, 61, 67, 71, 73, 79, 83, 89, 97
]
def mcd(n1, n2):
# Lista de números primos utilizados para factorizar n1 y n2
primos = [
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
59, 61, 67, 71, 73, 79, 83, 89, 97
]
Ejemplo de uso de las funciones
print(f"El mínimo común múltiplo es: {mcm(18, 11)}")
print(f"El máximo común divisor es: {mcd(380, 420)}")
The text was updated successfully, but these errors were encountered: