GCD

辗转相除法

非递归

int gcd(int a,int b)
{
    while (a != 0 && b != 0)
	{
		int c = b;
		a = a % b;
		b = a;
		a = c;
	}
	if (a == 0)
		return b;
	else
		return a;
}

递归

朴素

int gcd(int a, int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}

三目运算符

int gcd(int a, int b) 
{ 
	return b == 0 ? a : gcd(b, a % b);
}
posted @ 2024-10-15 12:31  闫柏军  阅读(33)  评论(0)    收藏  举报