Given the N integers, you have to find the maximum GCD (greatest common divisor) of every possible pair of these integers. Input
The first line of input is an integer N (1 < N < 100) that determines the number of test cases. The following N lines are the N test cases. Each test case contains M (1 < M < 100) positive integers that you have to find the maximum of GCD.
Output
For each test case show the maximum GCD of every possible pair.
Sample Input
3
10 20 30 40
7 5 12
125 15 25
Sample Output
20
1
25
仅供参考:
#include <bits/stdc++.h>
using namespace std;
int a[105];
char s[3000];
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
int n;
scanf("%d",&n);
getchar();
while(n--)
{
fgets(s,3000,stdin);
int len=strlen(s);
int u=0;
for(int i=0;i<len;i++)
{
int sum=0;
while(i<len&&s[i]!=' '&&s[i]!='\n')
{
sum=sum*10+(s[i]-'0');
i++;
}
a[u++]=sum;
}
int maxn = 0;
for(int i = 0; i < u-1; i++)
for(int j = i+1; j < u; j++)
maxn = max(maxn,gcd(a[i],a[j]) );
cout<<maxn<<endl;
}
return 0;
}
/*
3
10 20 30 40
7 5 12
125 15 25
*/
506

被折叠的 条评论
为什么被折叠?



