当前位置:首页 科普知识 欧式算法

欧式算法

发布时间:2023-09-07 06:54:50

欧式算法是求两个正整数之最大公因子的算法。

欧式算法详细介绍

欧式算法是求两个正整数之最大公因子的算法。

欧式算法

即辗转相除法。它是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。它并不需要把二数作质因子分解。

证明:

设两数为a、b(b<a),求它们最大公约数(a、b)的步骤如下:用b除a,得a=bq1+r1(0≤r1<b)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q2+r2(0≤r2<r1)。若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零余数即为(a,b)。

算法

欧式算法

辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公因子的:

1. 若 r 是 a ÷ b 的余数, 则

gcd(a,b) = gcd(b,r)

2. a 和其倍数之最大公因子为 a。

另一种写法是:

欧式算法

1. a ÷ b,令r为所得余数(0≤r<b)

若 r = 0,算法结束;b 即为答案。

2. 互换:置 a←b,b←r,并返回第一步。

3.a是个最小的自然数。

温馨提示:
本文【欧式算法】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6