经典算法——欧几里德算法
来源:互联网 发布:游族网络垃圾广告 编辑:程序博客网 时间:2024/06/18 16:38
一、算法创始人介绍:
欧几里德(生卒年不详,约300BC)
欧几里德是公元前300年左右在埃及亚历山大省积极活跃的一位教师。
欧几里德编写了伟大的几何教科书《几何原本》。《几何原本》的重要性并不在于它所论证的哪条具体定理,书中几乎所有的定理和证明在欧几里德以前就为人所知晓。欧几里德的伟大贡献在于他对教材的编排和大纲的制订。
在《几何原本》中,欧几里德首先涉及到要挑选一套定理和公理,接着就认真地编排这些定理和公理,循序渐进,逻辑性强。他在必要的地方补充了缺少的步骤,提出了缺少的证据。值得注意的是,《几何原本》虽然主要是对平面几何和立体几何的发展,但是也包含着大量的代数和数论内容。
欧几里德在数学方面做出的最大贡献就是为数学建立了第一套科学体系。除此以外,他在代数、几何、数论方面有一些成就。
二、算法数学原理:
欧几里德算法是计算两整数最大公约数的经典算法。效率之高,后世无人能及。
例:计算整数a,b(a>b)的最大公约数gcd(a, b)。
解:
∵gcd(a, b)|a;gcd(a, b)|b;
∴gcd(a, b)|a mod b
∴gcd(a, b)=gcd(b, a mod b)
循环,用a mod b 代替a,直至被求两数相等。此时
∵b=a mod b
∴gcd(a, b)=gcd(b, a mod b)=b
三、算法C/C++代码:
long gcd(long a, long b)
{
long r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
- 经典算法——欧几里德算法
- 简单经典算法——欧几里德算法(求最大公约数)
- 最大公约数算法——欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 欧几里德算法
- 微软总部写真(图片集)
- 2.6内核的配置详解
- 利用Random得到随机数字、字母和字符串
- learn-Regular Expressions
- arcgis 8.3 sp2 安装后,破解的license 可能用不了。
- 经典算法——欧几里德算法
- 汉字的经典对白--感受一下汉字的魅力!
- test
- J2EE的13种核心技术
- 一个实现MD5的简洁的java类
- 收藏网址
- 我病了好难受啊
- 系统的持续改善.
- 详细解析JSP编程中进度条的设计实例