题解 | #求最小公倍数#

求最小公倍数

http://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3

# 我写的好复杂啊,A,B最小公倍数 = 两个数的最大公约数M*(A/M)*(B/M
while True:
    try:
        num_list = input().split()
        #print(num_list)
        if len(num_list) !=2:
            break
        num1,num2 = float(num_list[0]),float(num_list[1])  # 存在一个问题,假如输入浮点数就gg了

        if num1<1 or num1>100000 or num2<1 or num2>100000:
            break
        if int(num1) %int(num2) ==0:
            print(int(num1))
            break
        if int(num2) %int(num1) ==0:
            print(int(num2))
            break
        i_list = [] #存储公约数的列表
        for i in range(2,min(int(num1),int(num2))+1):
            if int(num1) % i ==0 and  int(num2) %i==0:  
                i_list.append(i)
        if len(i_list) !=0:
            print(i_list[-1]*(int(num1) // i_list[-1])*(int(num2) // i_list[-1]))
        else:
            print((int(num1))*(int(num2)))                                    
        break             
    except:
        break
全部评论

相关推荐

每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务