本文共 1071 字,大约阅读时间需要 3 分钟。
Password:nefu
题目大意:
首先有给定一个 T,T组数据,然后给你一组数,求出其中两两最大公约数中最大的值。解题思路:
这个题一看多简单呀,就是一个暴力就完事儿啦,可是这是在有正常输入的时候,现在的问题是不知道输入多少个数,所以我们要解决的问题就是输入格式的问题,这里就要说几个函数getline getline()是一个流类库的一个成员函数,其书写形式是:cin.geline(v,n);// getline()和cin.geline()应该是一样 ,只是参数不同,其中参数v用来指定存放字符串的缓冲区地址,第二个参数n指定缓冲区长度。使用getline(cin,i,?)函数可以输入带空格的整行字符 ,第三个参数默认为’/n’。 还有一个函数是stringstream 这个的用途是可以将字符串转化为数字,所以这个题就是输入有坑啊。。。。 上代码:#include#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MM(a) memset(a,0,sizeof(a))typedef long long LL;typedef unsigned long long ULL;const int MAXN = 1e3+5;const int INF = 1e9+5;const int MOD = 1000000007;const double eps = 1e-7;int GCD(int a, int b){ if(b == 0) return a; return GCD(b, a%b);}int arr[MAXN];int main(){ int n, m; ///cin>>n; scanf("%d\n",&n); while(n--) { ///getchar(); string str; getline(cin, str); stringstream stream(str); int cnt = 0; while(stream>>arr[cnt]) { cnt++; } int Max = -INF; for(int i=0; i