- 辗转相除法
辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。方法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。那么最后的除数就是这两个数的最大公约数。

//最大公约数
int GCD(int m, int n)
{
int a, b;
a = (m >= n ? m : n);
b = (m >= n ? n : m);
if (a == b)
{
return a;
}
int r = a % b;
while (r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf ("%d", GCD(a, b));
return 0;
}
本文介绍了欧几里德算法,也称为辗转相除法,用于计算两个数的最大公约数。算法过程包括不断用较大数除以较小数并取余数,直至余数为0。提供的C语言代码示例展示了如何运用该算法来计算两个整数的最大公约数。
9万+

被折叠的 条评论
为什么被折叠?



