妈耶有日期显示啊,我还写什么。。。

给出N个正整数,找出N个数两两之间最大公约数的最大值。

例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。

 

Input

第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000) 
第2 - N + 1行:每行1个数,对应输入的正整数.(1 <= Sii <= 1000000)

Output

输出两两之间最大公约数的最大值。

Sample Input

4

9

15

25

16

Sample Output

5

思路:

1.做题的时候学长有提示用暴力求解,没毛病,可为什么我只过了1组数据啊QWQ,然后才发现这是一个有艺术的暴力orz。

2.代码是参照了别个的(完全一样好伐),还是很好理解的,就是开一个数组用下标及数组所表示的数来表示输入时出现的数极其个数。然后从最大的数开始倒着走一遍,然后每个数中,又从当前数(及外循环的数)走一遍到最大数,期间用一个temp(初始为0)判断有没有外循环的数的倍数出现。出现两次极其以上及找到了最大公因数(外循环的数),因为是从最大开始循环,所以只要找到即可。

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
const int maxn=;
int a[maxn];
int main()
{
int n;
cin>>n;
memset(a,,sizeof(a));
for(int i=;i<=n;i++)
{
int x;
cin>>x;
a[x]++;
}
int ans;
for(int i=maxn;i>=;i--)
{
int temp=;
for(int j=i;j<maxn;j+=i)
{
temp+=a[j];
if(temp>=)
{
break;
}
}
if(temp>=)
{
ans=i;
break;
}
}
cout<<ans<<endl;
return ;
}

最大的最大公约数( 51nod-1179)的更多相关文章

  1. 51nod 1179 最大的最大公约数

    1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出N个正整数,找出N个数两两之间最大公约数的最大值.例如:N = ...

  2. 51NOD 1179 最大的最大公约数 筛法

    1179 最大的最大公约数 题目连接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1179 Description ...

  3. 51nod 1179 最大的最大公约数 一种筛选的方法

    1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 给出N个正整数,找出N个数两两之间最大公约数的最大值 ...

  4. 51nod 1179:最大的最大公约数

    1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 给出N个正整数,找出N个数两两之间最大公约数的最大值 ...

  5. 51Nod 1179 最大的最大公约数(暴力大法好)

    #include <iostream> #include <cstdio> #include <cstring> using namespace std; ; in ...

  6. 51nod 1179 最大的最大公约数 (打表计数法)

    题目: 考虑清楚就简单了,我们把每个数的因子计数. 两个数的公约数就是计数超过2的数,然后找到最大的那个就好了. 计算每个数的素因子,记得sqrt(),不然会超时. 打表计数法时间复杂度O(n*sqr ...

  7. 51nod - 1179 - 最大的最大公约数 - 枚举

    因为 \(\sum\limits_{i=1}^{n}\lfloor\frac{n}{i}\rfloor=O(nlogn)\) 所以直接暴力就可以了. #include<bits/stdc++.h ...

  8. 51Nod - 1179

    给出N个正整数,找出N个数两两之间最大公约数的最大值.例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5.   Input第1行:一个数N,表示输入 ...

  9. 51nod 1237 最大公约数之和 V3(杜教筛)

    [题目链接] https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1237 [题目大意] 求[1,n][1,n]最大公约数之和 ...

  10. 51nod 1040 最大公约数之和(欧拉函数)

    1040 最大公约数之和 题目来源: rihkddd 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   给出一个n,求1-n这n个数,同n的最大公约数的和.比如: ...

随机推荐

  1. HttpClient请求工具类

    package com.yangche.utils; import org.apache.http.NameValuePair; import org.apache.http.client.Clien ...

  2. css中的单位和css中的颜色表示方法

    css中颜色的表示方式: 图片来源http://www.w3school.com.cn

  3. Celery-------项目目录

    在实际应用中Celery的目录是有规则的 要满足这样的条件才可以 目录Celery_task这个名字可以随意,但是这个目录下一定要有一个celery.py这个文件 from celery import ...

  4. ArcEngine开发鹰眼实现问题

    在网上百度一下有关AE鹰眼实现的代码,基本是一样的,可问题是好多代码自己运行起来鹰眼却总是加不进地图.住视图axMapControl1.OnMapReplaced(),axMapControl1.On ...

  5. Android 自定义ListView滚动条样式

    使用ListView FastScroller,默认滑块和自定义滑块图片的样子: 设置快速滚动属性很容易,只需在布局的xml文件里设置属性即可: <ListView android:id=&qu ...

  6. solidity语言4

    引用类型(Reference Types) memory 不支持持久保存 storage 保留为变量 复杂类型如arrays和structs,有附加信息,'data location',提示存储在'm ...

  7. winform中 让 程序 自己重启

    private void button1_Click(object sender, EventArgs e)        {            Application.ExitThread(); ...

  8. Java中条件语句和if-else的嵌套原则

    if(condition)Statement 在此时的条件语句中的条件是需要用括号把它括起来.   其实,Java中的条件语句和C/C++中的是一样的.而Java常常希望在某个条件为真的时候执行多条语 ...

  9. 再学UML-UML用例建模解析(二)

    (1) 关联关系 关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“ ...

  10. CRM product UI里assignment block的显示隐藏逻辑

    我们在product overview page里能看到很多的assignment block.但是runtime的时候真正显示出来的内容只是configuration里面看到内容的一个子集. Pro ...