使用python找到LCM

时间:2016-09-01 07:05:37

标签: python lcm

def multiple(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 个答案:

答案 0 :(得分: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