- 6
- 0
- 约9.73千字
- 约 3页
- 2017-08-06 发布于河南
- 举报
辗转相除算法简介
辗转相除算法的简介
在数论中,辗转相除法(国际上一般称为Euclidean Algorithm 或 Euclids Algorithm,即欧几里得算法)是一种求任意两个欧几里得环(Euclidean Domain)中的单位(如:整数)的最大公约数的算法。这个算法的一个重要特点就是其不需要通过分解因式来求取最大公约数。辗转相除法正因为其易操作性与易实现性而成为了计算机编程中的一个重要的求最大公约数的常用算法。
辗转相除法的过程描述与应用
给出两个自然数?a?和?b:检查?b?是否为0;如果是,则?a?为最大公约数。如果不是,则分别用?b?和?a?除?b?的余数作为上一步中的?a?和?b?重复这一检查步骤。
正如上面所提到的,辗转相除法是编程中求最大公约数的常用算法,那么下面就是一个C++中通过递归实现辗转相除法的程序段范例:
[cpp]? HYPERLINK /niushuai666/article/details/7278027 \o view plain view plain HYPERLINK /niushuai666/article/details/7278027 \o copy copy
int?gcd(int?a,?int?b)??
{??
???????return?b?==?0???a?:?gcd(b,?a?%?b);??
}??
注:过程名设为?g
原创力文档

文档评论(0)