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

简介: 给你一组数,求出其中两两最大公约数中最大的值
#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;
    }
}
目录
相关文章
|
2月前
|
算法
给定两个数,求这两个数的最大公约数
给定两个数,求这两个数的最大公约数
|
2月前
DAY-4 | 力扣 - 求自身以外数组的乘积:区间划分,左右累乘,巧求乘积
该文档是关于LeetCode上的一道题目“Product of Array Except Self”的题解。提供了两种解题方法,一是暴力破解,即计算所有数的乘积后再逐个除以当前元素;二是左右累乘法,通过两次遍历数组分别计算左侧和右侧元素的乘积,避免了除法操作。其中,左右累乘法更优,代码实现中展示了这种方法。
26 1
|
2月前
|
机器学习/深度学习 算法 测试技术
【排序 贪心】3107. 使数组中位数等于 K 的最少操作数
【排序 贪心】3107. 使数组中位数等于 K 的最少操作数
【排序 贪心】3107. 使数组中位数等于 K 的最少操作数
|
2月前
|
人工智能
PTA-求一组数中大于平均值的数的和
求一组数中大于平均值的数的和
41 0
|
11月前
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
61 0
|
自然语言处理 算法 Python
利用函数求出一个数组最大三个数的乘积
利用函数求出一个数组最大三个数的乘积
96 0
|
存储 算法 索引
算法 | 100000 个数的求和只需要 O(1),可能吗?
算法 | 100000 个数的求和只需要 O(1),可能吗?
85 0
算法 | 100000 个数的求和只需要 O(1),可能吗?
|
机器学习/深度学习 存储 算法
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
求出任意非负整数区间中1出现的次数
求出任意非负整数区间中1出现的次数
85 0