Python用while循环求三个数的最大公约数

1个回答
展开全部
摘要 a = 12b = 16c = 20# 找出三个数中的最小值min_num = min(a, b, c)# 从最小值开始递减,找到第一个能同时整除三个数的数while min_num > 0: if a % min_num == 0 and b % min_num == 0 and c % min_num == 0: break min_num -= 1# 输出结果print("三个数的最大公约数为:", min_num)
咨询记录 · 回答于2023-04-28
Python用while循环求三个数的最大公约数
a = 12b = 16c = 20# 找出三个数中的最小值min_num = min(a, b, c)# 从最小值开始递减,找到第一个能同时整除三个数的数while min_num > 0: if a % min_num == 0 and b % min_num == 0 and c % min_num == 0: break min_num -= 1# 输出结果print("三个数的最大公约数为:", min_num)
您看看哦
在上述代码中,我们首先定义了三个整型变量 a、b 和 c,分别表示要求最大公约数的三个数。然后,使用 min() 函数找出这三个数中的最小值,并将其保存在变量 min_num 中。接下来,我们使用一个 while 循环从 min_num 开始递减,每次判断是否同时能整除三个数,如果是,则说明当前的数是它们的最大公约数,我们使用 break 语句跳出循环。最后,输出求得的最大公约数即可。
运行不出来
报错哪里呢
您注意一下中英文格式
那这个代码可以这样写吗?
去掉试一下
print("三个数的最大公约数为:", i)
题目要求要保存在变量result中,我把i换成result了
那就打印错
print(f"{num1}, {num2}, {num3} 的最大公约数是 {result}")
改成
打印abc出来
# 获取三个数num1 = int(input("请输入第一个数:"))num2 = int(input("请输入第二个数:"))num3 = int(input("请输入第三个数:"))# 求解最大公约数result = min(num1, num2, num3)while True: if num1 % result == 0 and num2 % result == 0 and num3 % result == 0: break result -= 1print(f"{num1}, {num2}, {num3} 的最大公约数是 {result}")
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消