题目来源: SGU
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题
 收藏
 关注
给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。

Input
第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000)
第2 - N + 1行:每行1个数,对应输入的正整数.(1 <= S[i] <= 1000000)
Output
输出两两之间最大公约数的最大值。
Input示例
4
9
15
25
16
Output示例
5

从数组中最大的数开始试验,看其倍数 是否满足出现了两次的要求,出现了两次,还是从最大的数开始递减的话,说明这个数一定是这些数中的最大的最大公约数。

代码:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#pragma warning(disable:4996)
using namespace std; int n;
int val[50005];
int cnt[1000005]; int main()
{
//freopen("i.txt", "r", stdin);
//freopen("o.txt", "w", stdout); int i, j, maxn, sum;
scanf("%d", &n); maxn = 0;
for (i = 0; i < n; i++)
{
scanf("%d", val + i);
cnt[val[i]]++;
maxn = max(maxn, val[i]);
}
for (j = maxn; j >= 1; j--)
{
sum = 0;
for (i = j; i <= maxn; i = i + j)
{
sum += cnt[i];
if (sum >= 2)
{
break;
}
}
if (sum >= 2)
{
cout << j << endl;
break;
}
} //system("pause");
return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. Linux A机器免密码SSH登录B机器
  2. vps_centos_7_系统环境常规配置备忘
  3. Why is Visual Studio 2015 not able to find or open PDB files?
  4. ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序
  5. ref与out之间的区别整理
  6. Code Forces 711C Coloring Trees
  7. 使用BeautifulSoup解析XML文档
  8. lnmp一键安装包配置laravel项目
  9. log4j配置示例
  10. 模板引擎(smarty)知识点总结五
  11. HTML5的canvas标签制作黑客帝国里的简单画面
  12. Where Can I Download Full Installers for WebLogic Server
  13. Python之文件和目录操作
  14. &lt;Android基础&gt;(三) UI开发 Part 2 ListView
  15. 服务器告警其一:硬盘raid问题
  16. mybatis ResultMap详解
  17. STM32F103C8架构
  18. ubuntu经常断网、掉线、上不去网的原因
  19. postgreSql——时区问题
  20. PC/FORTH 编辑程序

热门文章

  1. 三、linux基础-常用命令man_cd_|_find_ln_&gt;_history
  2. java垃圾回收学习
  3. CSS3-多列(column-count等)
  4. spring mvc绑定参数之 类型转换 有三种方式:
  5. 5.使用Redis+Flask维护动态Cookies池
  6. 科软-信息安全实验3-Rootkit劫持系统调用
  7. java swing简介
  8. 「ZJOI2006」物流运输
  9. 【剑指Offer面试编程题】题目1390:矩形覆盖--九度OJ
  10. springboot,dubbo,nacos,spring-cloud-alibaba的整合