给你一组数,求出其中两两最大公约数中最大的值

简介: 给你一组数,求出其中两两最大公约数中最大的值
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
using namespace std;
typedef long long ll;
const int maxn=1e2+10;
int a[maxn];
int maxx=-1;
int gcd(int a,int b)
{
    return b?gcd(b,a%b):a;      ///
}
int main()
{
    int t;char ch;
    scanf("%d",&t);
    getchar();
    while(t--)
    {
        char s[maxn];
        gets(s);
        int to=0,cnt=0;
        int num[maxn];
        for(int i=0;s[i]!='\0';i++)
        {
            if(s[i]==' ')
            {
                num[cnt++]=to;
                to=0;
            }
            else
                to=to*10+s[i]-'0';
        }
        if(to)
            num[cnt++]=to;
        maxx=-1;
        for(int i=0;i<cnt;i++)
        {
            for(int j=i+1;j<cnt;j++)
                {
                    maxx=max(maxx,gcd(num[i],num[j]));
                }
        }
        cout<<maxx<<endl;
    }
}
目录
相关文章
|
1月前
两数之间的 Armstrong 数
【10月更文挑战第24天】两数之间的 Armstrong 数。
17 4
|
7月前
DAY-4 | 力扣 - 求自身以外数组的乘积:区间划分,左右累乘,巧求乘积
该文档是关于LeetCode上的一道题目“Product of Array Except Self”的题解。提供了两种解题方法,一是暴力破解,即计算所有数的乘积后再逐个除以当前元素;二是左右累乘法,通过两次遍历数组分别计算左侧和右侧元素的乘积,避免了除法操作。其中,左右累乘法更优,代码实现中展示了这种方法。
51 1
|
7月前
8.求出100~230之间所有素数之和,先在屏幕上输出,再求和
8.求出100~230之间所有素数之和,先在屏幕上输出,再求和
39 0
|
7月前
|
人工智能
PTA-求一组数中大于平均值的数的和
求一组数中大于平均值的数的和
75 0
|
算法 测试技术 C#
C++ 算法:区间和的个数
C++ 算法:区间和的个数
|
自然语言处理 算法 Python
利用函数求出一个数组最大三个数的乘积
利用函数求出一个数组最大三个数的乘积
122 0
每日一题---输出100个1~6的随机整数,并求出每个数出现的概率
每日一题---输出100个1~6的随机整数,并求出每个数出现的概率
每日一题---输出100个1~6的随机整数,并求出每个数出现的概率
|
存储 算法 索引
算法 | 100000 个数的求和只需要 O(1),可能吗?
算法 | 100000 个数的求和只需要 O(1),可能吗?
115 0
算法 | 100000 个数的求和只需要 O(1),可能吗?
求出任意非负整数区间中1出现的次数
求出任意非负整数区间中1出现的次数
117 0

热门文章

最新文章