为了账号安全,请及时绑定邮箱和手机立即绑定

关于辗转相除法取最大公约数那段没看懂,求教~

def gcd(a, b):

    if b == 0:

        return a

    return gcd(b, a % b)


这段没怎么看明白,看了讲解好像是辗转相除法求最大公约数,是递归用法么?但是好像没看那么明白,请赐教~~

正在回答

3 回答

递归的思想


0 回复 有任何疑惑可以回复我~
1 回复 有任何疑惑可以回复我~

[自问自答] 看明白了 ,辗转相除法。

不断变换a,b的位置,b等于a与b的取余。直到b==0 时,  会得到他们的最小公约数,然后分子分母同时除以最小公约数达到约分的目的。

gcd这个函数中,用到了递归的方法。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

关于辗转相除法取最大公约数那段没看懂,求教~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信