考虑下面的C程序
int main()
{
int x, y, m, n;
scanf ("%d %d", &x, &y);
/* x > 0 and y > 0 */
m = x; n = y;
while (m != n)
{
if(m>n)
m = m - n;
else
n = n - m;
}
printf("%d", n);
}
程序计算什么? (GATE CS 2004)
(A) x + y使用重复减法
(B) x mod y使用重复减法
(C) x和y的最大公约数
(D) x和y的最小公倍数
答案: (C)
说明:这是Euclid算法查找GCD的实现