计算一组数的最大公约数和最小公倍数-python

直接上代码了,实现很简单,有更好的办法希望可以交流 (每个函数可以输入多个参数,我是以3个为例)。

def hcf(*x):                                #计算最大公约数
    smaller=min(x)
    for i in reversed(range(1,smaller+1)):
        if list(filter(lambda j: j%i!=0,x)) == []:
            return i

def lcm(*x):                                #计算最小公倍数
    greater=max(x)
    while True:
        if list(filter(lambda i: greater%i!=0,x)) == []:
            return greater
        greater+=1
        
num1=int(input("输入第一个数字: "))
num2=int(input("输入第二个数字: "))
num3=int(input("输入第三个数字: "))
print( num1,"、", num2,"和", num3,"的最大公约数为:", hcf(num1, num2, num3))
print( num1,"、", num2,"和", num3,"的最小公倍数为:", lcm(num1, num2, num3))
输入第一个数字: 2

输入第二个数字: 4

输入第三个数字: 8
2 、 4 和 8 的最大公约数为: 2
2 、 4 和 8 的最小公倍数为: 8

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值