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

本文介绍了一个简单的Python程序,用于计算任意数量整数的最大公约数(HCF)和最小公倍数(LCM)。通过定义两个函数hcf和lcm,程序接收用户输入的数字,并返回这些数字的HCF和LCM。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码了,实现很简单,有更好的办法希望可以交流 (每个函数可以输入多个参数,我是以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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值