C语言实现 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。

求最大公约数可以使用辗转相除法;

用较大的数除去较小的,取余然后在用较小的数除以余数,一直下去直到余数为0;

代码实现:

#include

int gys(int a,int b)
{
	int ret = 0;
	while(a % b != 0)
	{
		ret = a % b;
		a = b;
		b = ret;
	}
	return b;
}

int main()
{
	int tmp = gys(12,4);
	printf("%d\n",tmp);
	return 0;
}


你可能感兴趣的:(C语言实现 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。)