鱼C论坛

 找回密码
 立即注册
查看: 843|回复: 4

[已解决]求各位大佬解答

[复制链接]
发表于 2017-12-21 23:00:14 | 显示全部楼层 |阅读模式

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

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

x
小甲鱼的python3 入门基础教学 第17课 课后题:
求最大公约数,怎么看都看不懂 求解,代码如下:
def gcd(x, y):
    while y:
        t = x % y
        x = y
        y = t
        return x
print(gcd(4, 6))
最佳答案
2017-12-22 09:14:20
求公约数流程如下图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-21 23:18:13 | 显示全部楼层
先思考公因数的定义,然后用数学知识捋一遍就可以看懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-22 06:48:49 From FishC Mobile | 显示全部楼层
大概得思路是将两者相除一直到除尽
详细理解请百度 辗转相除法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-22 09:02:58 | 显示全部楼层
这里面使用的是“辗转相除法”

辗转相除法
辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。
当两个数都较大时,采用辗转相除法比较方便.其方法是:
以大数除以小数,如果能整除,那么小数就是所求的最大公约数.否则再用小数除以余数;
再用这新除法的余数去除刚才的余数.依此类推,直到一个除法能够整除,即余数为0
这时作为除数的数就是所求的最大公约数.


详细的可以参考这篇blog
http://blog.csdn.net/abilly/article/details/25235869
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-22 09:14:20 | 显示全部楼层    本楼为最佳答案   
求公约数流程如下图

求公约数流程

求公约数流程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 22:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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