最大公约数
时间: 1ms 内存:64M
描述:
求两个正整数的最大公约数。
输入:
输入数据含有不多于50对的数据,每对数据由两个正整数(0 < n1,n2 < 232)组成。
输出:
对于每组数据n1和n1,计算最大公约数,每个计算结果应占单独一行。
示例输入:
6 5 18 12
示例输出:
1
6
提示:
参考答案(内存最优[748]):
#include<stdio.h>
int main()
{
	int m,n,t,k;
	while(scanf("%d%d",&m,&n)!=EOF)
	{ 
       if(m<n)
	   {t=m;
	    m=n;
	    n=t;
	   }
	   k=m%n;
	   while(k!=0)
	   {m=n;
	   n=k;
	   k=m%n;
	   }
    printf("%d\n",n);
	}
	return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
int main()
{
	int m,n,t,k;
	while(scanf("%d%d",&m,&n)!=EOF)
	{ 
       if(m<n)
	   {t=m;
	    m=n;
	    n=t;
	   }
	   k=m%n;
	   while(k!=0)
	   {m=n;
	   n=k;
	   k=m%n;
	   }
    printf("%d\n",n);
	}
	return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
