利用函数求最大公约数
如:现给出 1997 和 615 两个正整数,用欧几里得算法给出下列运算:
( x ) 1997 / ( y ) 615 = 3…(余数 r)152
( y ) 615 / ( r ) 152 = 4…(余数)7
152 / 7 = 21…5
7 / 5 = 2…2
5 / 2 = 1…1
2 / 1 = 2 余0
综上:这两个正整数的最大公约数为1
至此,源码如下:
#include <stdio.h>
int gcd( int x, int y );
int main()
{
int x, y;
scanf("%d %d", &x, &y);
printf("%d\n", gcd(x, y));
return 0;
}
int gcd(int x, int y)
{
int r;//余数
r = x % y;
while(r)
{
x = y;
y = r;
r = x % y;
}
return y;
}
使用欧几里得算法计算最大公约数
本文介绍了一种利用欧几里得算法来求解两个正整数的最大公约数的方法。通过示例展示了如何计算1997和615的最大公约数,并给出了相应的C语言实现代码。代码中定义了一个名为gcd的函数,通过不断取余数并交换变量值的方式,直至余数为0,最后返回的y即为最大公约数。
1780

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



