最大的最大公约数
来源:互联网 发布:java工程师职业规划 编辑:程序博客网 时间:2024/06/07 03:07
第2 - N + 1行:每行1个数,对应输入的正整数.(1 <= S[i] <= 1000000)
49152516
5
思路:把输入的数的位置标为1,其余为0.
一个数如果是他的公约数,那么公约数按倍数增长,总会达到他的位置的1,从而加起来。
同理,如果有sum=2,代表着这个数,是他们的公约数。
代码如下:
#include <iostream>#include <cstdlib>#include <cstring>using namespace std;int cnt[1000001];int main(){ int N; int MAX = 0; int num; while (cin >> N) { MAX = 0; memset(cnt,0,sizeof(cnt)); for (int i = 0; i < N; ++ i) { cin >> num; ++cnt[num]; if (num > MAX) { MAX = num; } } for (int i = MAX; i >= 1; -- i) { int sum = 0; ///如果i是最大公约数,那么i*k,就会等于n、 ///当n数目达到2的时候,就退出,求出了答案。 for (int j = i; j <= MAX; j+= i) { sum += cnt[j]; if (sum >= 2) { break; } } if (sum >= 2) { cout << i << endl; return 0; } } } return 0;}
阅读全文
0 0
- 最大的最大公约数-数论
- 最大的最大公约数
- 最大的最大公约数
- 最大的最大公约数
- 51nod1179 最大的最大公约数
- 51nod1179最大的最大公约数
- 最大的最大公约数 51Nod
- 51nod 1179:最大的最大公约数
- 51nod-1179-最大的最大公约数
- 51NOD 1179 最大的最大公约数
- 51nod:1179 最大的最大公约数
- 51nod-1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 51Nod-1179 最大的最大公约数【暴力】
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 3.Spark-RDD原理
- zzuli 2179: 紧急营救
- 《leetcode》single-number-ii
- 逆序对
- 原码、反码、补码以及补码是怎么来的
- 最大的最大公约数
- SQL学习记录
- HDU-2087 剪花布条(KMP不重复字符串匹配次数统计)
- 使用postman请求spring使用@RequestBody和@ModelAttribute接受实体对象
- 返利网产品体验报告
- 独立性与概率条件
- SQL表连接查询(inner join、full join、left join、right join)
- spark学习-SparkSQL--14-JavaRDD注册成表然后用SparkSQL查询
- C++ primer阅读笔记---------------关联容器