鱼C论坛

 找回密码
 立即注册
查看: 1781|回复: 6

[已解决]python 欧几里算法求最大公约数

[复制链接]
发表于 2021-1-12 19:46:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def gcd(x, y):
    if y:
        return gcd(y, x%y)
    else:
        return x
   
print(gcd(4, 6))

问题1:最大公约数的求法为啥是两个数互余,能反过来求余嘛?例:x%y,能y%x嘛?
问题2:这个程序需要咋理解,为啥当y为0的时候,返回x,是因为递归的时候当y为0的时候,最大公约数就为x了嘛?
问题3:为啥在第一个return 那里,要将y的值传给x

求大佬解答!!
最佳答案
2021-1-12 19:48:24
这不是数学里学的吗?
y取代x,y对x的余数取代y
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-12 19:48:24 | 显示全部楼层    本楼为最佳答案   
这不是数学里学的吗?
y取代x,y对x的余数取代y
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-12 19:51:49 | 显示全部楼层
昨非 发表于 2021-1-12 19:48
这不是数学里学的吗?
y取代x,y对x的余数取代y


对呀,我感觉我要重修了,全都忘了...
你这么一说,我好像有点理解了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-12 19:54:40 | 显示全部楼层
小无趣 发表于 2021-1-12 19:51
对呀,我感觉我要重修了,全都忘了...
你这么一说,我好像有点理解了

看百度辗转相除的定义https://baike.baidu.com/item/%E6 ... /1647675?fr=aladdin
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-12 20:11:54 | 显示全部楼层
understand?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-12 20:17:34 | 显示全部楼层

差不多了,谢谢大佬!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-12 20:19:37 | 显示全部楼层
小无趣 发表于 2021-1-12 20:17
差不多了,谢谢大佬!!

不至于不至于,
主要这玩意就一概念问题
理解了定义都不难的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 19:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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