首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

最大的最贵族约数-数论

2013-10-17 
最大的最大公约数-数论题目:第1行:一个数N,表示输入正整数的数量。(2 N 50000)第2 - N1行:每行1个数,

最大的最大公约数-数论
题目:第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000)第2 - N + 1行:每行1个数,对应输入的正整数.(1 <= S[i] <= 1000000)输出两两之间最大公约数的最大值。

#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;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;}

 
 

热点排行