Как эффективно найти lcm двух чисел без использования какого-либо модуля типа np.lcm?Python

Программы на Python
Anonymous
Как эффективно найти lcm двух чисел без использования какого-либо модуля типа np.lcm?

Сообщение Anonymous »

Я взял это из Интернета, но для больших чисел это занимает около 1 минуты.

Код: Выделить всё

import time

def lcm(x,y):
if x>y:
greater=x
else:
greater=y
while(True):
if((greater%x==0) and (greater%y==0)):
lcm=greater
break
greater+=1
return lcm

a = time.time()
num1 = 50342
num2 = 10000
print(f"Lcm of {num1} and {num2} is {lcm(num1,num2)}")

print("Time taken:", time.time() - a)
Вывод:

Код: Выделить всё

Lcm of 50342 and 10000 is 251710000
Time taken: 39.7167
Есть ли способ изменить эту функцию и быстро получить тот же результат без использования какого-либо модуля, такого как np.lcm?

Вернуться в «Python»