最大公约数

最大公约数

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注