• Maximum GCD (stringstream)题解


    Given the N integers, you have to find the maximum GCD (greatest common divisor) of every possiblepair of these integers.

    Input

    The first line of input is an integer N (1 < N < 100) that determines the number of test cases.The following N lines are the N test cases. Each test case contains M (1 < M < 100) positiveintegers that you have to find the maximum of GCD.

    Output

    For each test case show the maximum GCD of every possible pair.

    Sample Input

    3

    10 20 30 40

    7 5 12

    125 15 25

    Sample Output

    20

    1

    25


    思路:

    暴力gcd,之前小紫看到的stringstream可以拿出来用了,很方便啊,这里就用到了这个技巧

    代码:

    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<cctype>
    #include<queue>
    #include<cmath>
    #include<string>
    #include<map>
    #include<stack> 
    #include<set>
    #include<vector>
    #include<iostream>
    #include<algorithm>
    #include<sstream>
    #define INF 0x3f3f3f3f
    #define ll long long
    const int N=16005;
    const ll MOD=998244353;
    using namespace std;
    ll gcd(ll a,ll b){
    	return b==0? a:gcd(b,a%b);
    }
    int main(){
    	int n;
    	ll num[110],x,MAX=-100000000;
    	string s;
    	scanf("%d",&n);
    	getchar();
    	while(n--){
    		getline(cin,s); 
    		int sum=0;
    		MAX=-100000000;
    		stringstream ss(s);
    		while(ss>>x){
    			num[sum++]=x;
    		}
    		for(int i=0;i<sum;i++){
    			for(int j=i+1;j<sum;j++){
    				MAX=max(MAX,gcd(num[i],num[j]));
    			}
    		}
    		cout<<MAX<<endl;
    	}
    	return 0;
    }


  • 相关阅读:
    通讯技术
    (1)sqlserver2017安装
    c# api身份验证和授权
    ()centos7 安装python36
    python 包管理
    ()centos7 安装mysql8.0
    [bzoj1095][ZJOI2007]Hide 捉迷藏 点分树,动态点分治
    bzoj 3544 [ONTAK2010]Creative Accounting 贪心
    BZOJ4300 绝世好题 dp
    bzoj 4295 [PA2015]Hazard 贪心,暴力
  • 原文地址:https://www.cnblogs.com/KirinSB/p/9409110.html
Copyright © 2020-2023  润新知