分数 10
全屏浏览题目
切换布局
作者 usx程序设计类课程组
单位 绍兴文理学院
求两个正整数m,n的最大公约数(Greatest Common Divisor,简称GCD)。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入2个整数m,n (0<m,n<10^9)。
输出格式:
对于每组测试,输出m,n的最大公约数。
输入样例:
2
63 36
20 15
输出样例:
9
5
#include<stdio.h>
int main()
{
long long int a=0,b=0,c=0;
long long int max=0;
int n=0;
scanf("%d",&n);
while(scanf("%lld %lld",&a,&b)!=EOF){
if(a<0)
a=-a;
if(b<0)
b=-b;
if(a==0&&b==0)
printf("1");
else if(a==0&&b!=0)
printf("%lld",b);
else if(b==0&&a!=0)
printf("%lld",a);
else if(a==b)
printf("%lld",a);
else if(a!=b)
{
while (a%b!=0){
c=a%b;
a = b;
b = c;
}
max=b;
printf("%lld\n",max);
}
}
return 0;
}