Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > 最大公约数欧几里德算法及Python实现
【标  题】:最大公约数欧几里德算法及Python实现
【关键字】:Python
【来  源】:http://blog.csdn.net/jq0123/archive/2007/04/11/1560559.aspx

最大公约数欧几里德算法及Python实现

Your Ad Here
欧几里德算法又称辗转相除法,用于计算两个整数m, n的最大公约数。其计算原理依赖于下面的定理:

    gcd(m, n) = gcd(n, m mod n)

这个定理的意思是:整数m、n的最大公约数等于n和m除以n的余数的最大公约数。

例如:有两个整数:120和45,我们按照上面的方法求他们的最大公约数。

    1. gcd(120, 45) = gcd(45, 120 % 45) = gcd(45, 30)
    2. gcd(45, 30) = gcd(30, 45 % 30) = gcd(30, 15)
    3. gcd(30, 15) = gcd(15, 30 % 15) = gcd(15, 0) = 15

当 m % n 等于零时,即求15和0的最大公约数时,这个循环应该终止,15就是120和45的最大公约数。

Python代码实现如下:
def gcd(m, n):
    
while n:
        m, n 
= n, m % n
    
return m

参考:欧几里德算法及Python实现
开源.NET邮件服务器:【上一篇】
如何删除IE中输入框中的缓存:【下一篇】
【相关文章】
  • Ruby 和 python
  • 如何使你的UltraEdit支持Python语法高亮?
  • Python应用:邪恶力量S01E09字幕时间调整
  • 学习Python(1)——流程控制
  • 新的Python 3000视频和幻灯
  • 学习Python(2)——函数
  • 学习Python(3)——List内置方法
  • 学习Python(4)——面向函数编程
  • Python入门
  • Python与Microsoft Office自动化操作
  • 【随机文章】
  • 封神榜 打装备经验心得
  • Pro/Engineer Drawing 视图的种类
  • 三星E108、X108 drawString 显示乱码解决方案。
  • Microsoft JDBC "ResultSet Can Not Re-Read Row Data" Error
  • 数据库有关的性能
  • AS控制声音教程---倒退和快速播放
  • 龙文输入通 3.03 注册分析
  • uml 扩展机制标签值
  • Matlab7无法启动的一个解决方法
  • Eclipse - a tale of two VMs (and many classloaders)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.