Найти LCM с помощью python
def кратно (a, b): """, поэтому я пытаюсь вернуть наименьшее число n, кратное a и b.
например:
кратный (3, 4) 12 кратный (14, 21) 42 """
def gcd (a,b):
if a < b : a , b = b,a
while b:
a , b = b , a % b
return a
def lcm (a , b):
n= (a*b) / gcd(a,b)
return n
он продолжает выдавать ошибки об отступах и логике. Я не понимаю почему. Я тоже пытался менять переменные.
1 ответ
Решение
Не нужно искать GCD, мы можем напрямую найти LCM. Ниже работает код
def lcmof(x,y):
res=0
mx=max(x,y)
mn=min(x,y)
for i in range(1,mx+1,1):
temp=mx*i
try:
if(temp%mn==0):
res=temp
break
except ZeroDivisionError:
res=0
break
return res