软件用的dev c++
试数: 11343,128952 正确答案应该是597,我运行结果是3
int main(void)
{
long int m, n, a, i;
scanf("%d,%d", &m, &n);
if(m<n)
a = m;
else
a = n;
for(i=a-1; i>=1; i--) //从两个数比较小的那个开始一直往小找,直到找到一个能被两个数整除的
{
if(m%i == 0 && n%i ==0)
break;
}
printf("%d", i);
return 0;
}
for(i=a-1; i>=1; i--) 这里的第一个表达式应该是 i= a
比如4 8的最大公约数是4。如果从a-1开始,4就取不到了