V - Maximum GCD(输入输出相关技巧)
题目大致意思:输入一个n,接下来每n行输入任意个数求每一行中这些书可以组成的最大公约数
getline()函数相关知识:https://www.cnblogs.com/AndyJee/archive/2014/07/02/3821067.html
#include <iostream> #include <sstream> #include <string> #include <algorithm> #include <cstdio> using namespace std; int n,num,a[100+10]; string s; int gcd(int a,int b) { if(b==0) return a; else return gcd(b,a%b); } int main() { cin>>n; getchar(); while(n--) { num=0; getline(cin,s); //接收一个字符串,可以接受空格并输出(属于string流) stringstream ss(s); //在c++中读取一行的getline函数是不读入换行符的 while(ss>>a[num]) { num++; } int ans=0; for(int i=0;i<num;i++) { for(int j=i+1;j<num;j++) { ans=max(ans,gcd(a[i],a[j])); } } cout<<ans<<endl; } return 0; }