鱼C论坛

 找回密码
 立即注册
查看: 328|回复: 3

[已解决]求助编写最大公因数的程序

[复制链接]
发表于 2024-2-25 19:22:27 | 显示全部楼层 |阅读模式
10鱼币
求助编写一个求两个数的最大公因数的程序,如可以并进一步指出我编写的错误
  1. num1 = int(input("请输入第一个数:"))
  2. num2 = int(input("请输入第二个数:"))

  3. t = num1 % num2
  4. while t == 0:
  5. #    t = num1 % num2
  6.     if num1 % num2 != 0:
  7.         num1 = num2
  8.         num2 = t

  9. print(f"{num1} 和 {num2} 的最大公因数是 {num2}")
复制代码
最佳答案
2024-2-25 19:22:28
你编写的程序已经很接近正确的答案了,但是有几个小问题需要修正。

首先,你在while循环中判断t是否为0,如果为0则进入循环。但是在循环体内并没有重新计算t的值,所以循环会无限地执行下去。你需要在循环体内重新计算t的值。

其次,在最后打印结果时,你使用了f-string来格式化字符串,但是花括号不是英文状态下的花括号,而是中文状态下的花括号。你需要将花括号改为英文状态下的花括号。

最后,你在交换num1和num2的值时,应该将t的值赋给num1,而不是num2。因为t是余数,表示的是num1除以num2的余数,应该将它赋给num1,然后将num2赋给t。

下面是修正后的代码:

  1. num1 = int(input("请输入第一个数:"))
  2. num2 = int(input("请输入第二个数:"))

  3. t = num1 % num2
  4. while t != 0:
  5.     num1 = num2
  6.     num2 = t
  7.     t = num1 % num2

  8. print(f"{num1}和{num2}的最大公因数是{num2}")
复制代码


希望能帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

最佳答案

查看完整内容

你编写的程序已经很接近正确的答案了,但是有几个小问题需要修正。 首先,你在while循环中判断t是否为0,如果为0则进入循环。但是在循环体内并没有重新计算t的值,所以循环会无限地执行下去。你需要在循环体内重新计算t的值。 其次,在最后打印结果时,你使用了f-string来格式化字符串,但是花括号不是英文状态下的花括号,而是中文状态下的花括号。你需要将花括号改为英文状态下的花括号。 最后,你在交换num1和num2的值 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-25 19:22:28 | 显示全部楼层    本楼为最佳答案   
你编写的程序已经很接近正确的答案了,但是有几个小问题需要修正。

首先,你在while循环中判断t是否为0,如果为0则进入循环。但是在循环体内并没有重新计算t的值,所以循环会无限地执行下去。你需要在循环体内重新计算t的值。

其次,在最后打印结果时,你使用了f-string来格式化字符串,但是花括号不是英文状态下的花括号,而是中文状态下的花括号。你需要将花括号改为英文状态下的花括号。

最后,你在交换num1和num2的值时,应该将t的值赋给num1,而不是num2。因为t是余数,表示的是num1除以num2的余数,应该将它赋给num1,然后将num2赋给t。

下面是修正后的代码:

  1. num1 = int(input("请输入第一个数:"))
  2. num2 = int(input("请输入第二个数:"))

  3. t = num1 % num2
  4. while t != 0:
  5.     num1 = num2
  6.     num2 = t
  7.     t = num1 % num2

  8. print(f"{num1}和{num2}的最大公因数是{num2}")
复制代码


希望能帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-2-25 21:40:37 | 显示全部楼层
FishC 发表于 2024-2-25 19:22
你编写的程序已经很接近正确的答案了,但是有几个小问题需要修正。

首先,你在while循环中判断t是否为0 ...

十分感谢,解答的非常及时,指出的问题清晰明确,受教了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-25 21:40:47 | 显示全部楼层
wangxiaolvshi 发表于 2024-02-25 21:40
十分感谢,解答的非常及时,指出的问题清晰明确,受教 ...


不客气,我很高兴能够帮到你。如果你以后还有其他编程问题或者需要进一步的帮助,请随时提问。祝你在学习编程的路上取得更大的进步!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 02:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表