文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[Python] 欧几里得算法

[Python] 欧几里得算法

时间:2008-01-09  来源:mystérieux

欧几里得算法是计算两个整数的最大公约数,把a与b相除,得到余数后,把b赋值给a,余数赋值给b,a与b再相除,. . . 如此反复,即可得到最大公约数gcd。用Python可以作出如下函数:

def gcd (a, b):
  r = a % b
  while r > 0:
    print a, b, r
    a, b, r = b, r, b%r
  return b

也可以用另外一种方式来实现欧几里得算法,如果a能被b整除,那么b就是两数的公约数;如果a不能被b整除,那么有a=qb+r,q是商,r是余数,那么 0 <= r < b,如果一个数能够整除a和b,那么它就能整除b和r,也就是说gcd(a,b)=gcd(b,r),用递归法来作:

def gcd2 (a, b):
  r = a % b
  while r == 0:
    return b
  else:
    return gcd2 (b, r)
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载