辗转相减法求最大公约数

要求:

用C实现一个函数 int gcd(int a, int b) 求解两个整数的最大公约数,算法步骤是,用a ,b中的大值减去小值得到临时值c,然后再用c和a,b中的最小值进行计算,直到c和a,b中的最小值相等。一个例子参考附件。

代码:

#include<stdio.h>
#include<math.h>
int xiangjian(int a, int b)
{
	while (1)
	{
		if(a>b)
		{
			a = a-b;
		}
		else if(a<b)
		{
			b = b-a;
		}
		else if(a==b)
		{
			return a;
		}
                else
                {
                        return 0;
                }
	}
}
int main()
{
	int a,b;
        scanf("%d %d",&a,&b);
	printf("20201303 | %d and %d maxshu: %d\n", a, b, xiangjian(a, b));
	return 0;
 
}

posted @ 2022-12-22 09:21  20201303张奕博  阅读(242)  评论(0编辑  收藏  举报