#include<cstdio>
using namespace std;
const int maxn=100+5;
int num[maxn];
/*
给定一些数,求两两最大公约数的最大值
没有说明一行有多少个数,注意输入格式
用ungetc()函数处理输入
*/
int gcd(int a,int b)
{
return (a%b==0)?b:gcd(b,a%b);
}
int main()
{
int T;
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
scanf("%d",&T);
while(getchar()!='\n');
while(T--)
{
char buf;
int n=0;
while((buf=getchar())!='\n')
{
if(buf>='0'&&buf<='9')
{
ungetc(buf,stdin);
scanf("%d",&num[n++]);
}
}
int maxg=1;
int g;
for(int i=0; i<n-1; i++)
{
for(int j=i+1; j<n; j++)
{
g=gcd(num[i],num[j]);
if(g>maxg)
{
maxg=g;
}
}
}
printf("%d\n",maxg);
}
return 0;
}
UVA - 11827 Maximum GCD (gcd+ungetc()函数)
最新推荐文章于 2019-08-16 21:27:16 发布