辗转相除法求最大公约数

128 阅读1分钟

image.png

int gcd(int a,int b)
{
	int m,n,r;
	if(a>b)		//m为较大数,n为较小数
	{
		m=a;
		n=b;
	}
	else
	{
		m=b;
		n=a;
	}
	r=m%n;		//求余数
	while(r!=0)	//辗转相除
	{
		m=n;
		n=r;
		r=m%n;
	}
	return n;	//返回最大公约数
}