【C系列4.5】函数训练之最大公约数 1973
Time Limit: 1 s Memory Limit: 32 MB
Submission:225 AC:156 Score:10.00
Description
cyn小朋友今天无聊翻数学书的时候看见了最大公约数的定义,他觉得很好奇,于是花了一个下午来琢磨如何判断两个数的最大公约数,你能帮她验算一下吗?
固定代码:
#include<stdio.h>
int gcd(int x,int y);
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d %d",&n,&m);
printf("%d ",gcd(n,m));
}
return 0;
}
Input
第一行输入一个T,表示有T组数据。
接下来有T行,每行有两个整数,中间以空格隔开,两个数都小于10w,求出它们的最大公约数。
Output
对于对于每一对数,输出他们的最大公约数。
Samples
input:
3
1 5
4 6
11 22
output:
1
2
11
下附AC代码:
#include<stdio.h>
int gcd(int x,int y);
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d %d",&n,&m);
printf("%d\n",gcd(n,m));
}
return 0;
}
int gcd(int x, int y) {
int yu;
while (1) {
yu = x % y;
if (0 == yu)
break;
x = y;
y = yu;
}
return y;
}