题意:
第一步给你一个数t,代表有几行数据,接下来t行有m个正整数(0
数据:
思路:
由于M的大小是不确定的,所以采用了sstream输入流,通过数组一个一个记录下来,最后暴力匹配。
代码:
#include <iostream>
#include <string>
#include <sstream>
#include <cstring>
#include <cstdio>
using namespace std;
#define MM(a) memset(a,0,sizeof(a))
int gcd(int a,int b) {
if(!a)
return b;
int c;
while(b) {
c=b;
b=a%b;
a=c;
}
return a;
}
int main() {
string a;
int b[105],i,t,MAX,temp;
stringstream ss;
cin>>t;
getchar();
while(t--) {
MAX=1;
ss.clear();//如果多次使用一定要记得清空(归位)
getline(cin,a);
MM(b);
ss<<a;
for(i=0; ss>>b[i]; i++);
for(int j=0; j<i; j++) {
for(int k=j+1; k<i; k++) {
MAX=max(MAX,gcd(b[j],b[k]));
}
}
cout<<MAX<<endl;
}
return 0;
}
参考:http://blog.youkuaiyun.com/xiaogugood/article/details/21447431
http://blog.youkuaiyun.com/zcmuczx/article/details/54021771