欧几里德算法

求两个数的最大公因数,如gcd(50, 15)=5

时间复杂度:O(logn)

unsigned int Gcd(unsigned int M, unsigned int N)
{
	unsigned int temp;
	//令M>=N
	if (M<N)
	{
		temp = M;
		M = N;
		N = temp;
	}
	while(N>0)
	{
		temp = M % N;
		M = N;
		N = temp;
	}
	return M;
}


posted @ 2012-02-28 14:49  刘军newhand_liu  阅读(129)  评论(0)    收藏  举报