使用 python 查找 LCM
finding the LCM using python
定义倍数(a,b):
"""所以我正在尝试 return 最小的数字 n,它是 a 和 b 的倍数。
例如:
multiple(3, 4)
12
multiple(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
它不断抛出关于缩进和逻辑的错误。我不明白为什么。我也试过改变周围的变量。
不用找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
定义倍数(a,b): """所以我正在尝试 return 最小的数字 n,它是 a 和 b 的倍数。
例如:
multiple(3, 4) 12 multiple(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
它不断抛出关于缩进和逻辑的错误。我不明白为什么。我也试过改变周围的变量。
不用找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