最大公约数
时间: 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。