您的位置:首页 > 其它

[UVA - 11827][数论基础]Maximum GCD

2017-08-12 13:14 288 查看

题意:

第一步给你一个数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.csdn.net/xiaogugood/article/details/21447431

http://blog.csdn.net/zcmuczx/article/details/54021771
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数论