有坑。。。巨坑。。。巨巨巨坑的输入
输入什么的就是坑啊。。多少题坑在了输入上。。。
一开始真的是wa。。wa。。然后接着wa。。。。
还是stringstream比较靠谱。。
题意:给一串数,求出这些数的所有的组合的最大公约数,然后输出所有最大公约数里最大的数
然后就是gcd的问题了。。。辗转相除。。恩。。。也晕了好几次。。
代码简单。。就是输入巨坑【代码没跟大神们一样用solve。。。然后直接再main里用solve()。。】
#include<cstdio> #include<iostream> #include<sstream> #include<string> using namespace std; int num[101]; int gcd(int a, int b) { return b?gcd(b,a%b):a; } int main() { string str; int t,n; scanf("%d\n", &t); while (t--) { getline(cin, str); stringstream ss(str); n = 0; while (ss >> num[n]) n++; int i, j, maxn = 0; for (i = 0; i < n - 1; ++i) for (j = i + 1; j < n; ++j) maxn = max(maxn, gcd(num[i], num[j])); printf("%d\n", maxn); } return 0; }