51nod 1179 最大的最大公约数
来源:互联网 发布:电路阻抗计算软件 编辑:程序博客网 时间:2024/04/29 21:40
题目连接
1179 最大的最大公约数
题目来源: 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 <cstdio>#include <algorithm>#include <cstring>using namespace std;#define M 1000010int vis[M];int n, m, mx;int solve(){ int sum; for(int i=mx; i>=1; i--)//递减往下比较 { sum = 0; for(int j=i; j<=mx; j+=i)//成倍增加 { sum += vis[j];//找到另一个是它倍数的数 if(sum >= 2) { return i; } } }}int main(){ while(scanf("%d", &n) != EOF) { memset(vis, 0, sizeof(vis)); mx = 0; for(int i=0; i<n; i++) { scanf("%d", &m); vis[m]++; mx = max(mx, m); } int ans = solve(); printf("%d\n", ans); } return 0;}
0 0
- 51nod 1179:最大的最大公约数
- 51nod-1179-最大的最大公约数
- 51NOD 1179 最大的最大公约数
- 51nod:1179 最大的最大公约数
- 51nod-1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 51Nod-1179 最大的最大公约数【暴力】
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数 -Zero
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 51nod-1179-最大的最大公约数
- 51nod 1179 最大的最大公约数
- 超全的机器学习、深度学习视频课程和讲义的百度网盘下载
- SVN项目资源库目录更换
- (转)为什么Dialog不能用Application的Context
- 计算机网络复习笔记
- PE文件详解(七)
- 51nod 1179 最大的最大公约数
- POJ 1724 ROADS
- (转)创建Dialog所需的上下文为什么必须是Activity?
- Centos目录-结构详细版
- 共享引用
- 【MyBatis学习14】MyBatis和Spring整合
- webapi不使用MultipartFormDataStreamProvider上传multipart form-data数据的方法
- 文本特征提取方法研究
- GYM 101147 E.Jumping(SPFA)