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

Posted barriery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1179:最大的最大公约数相关的知识,希望对你有一定的参考价值。

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

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1179

题目大意:给出$n$个数,求两两最大公因数的最大值.

数论

套路题,参见http://www.cnblogs.com/barrier/p/6656410.html

代码如下:

 1 #include <iostream>
 2 #define N 1000000
 3 using namespace std;
 4 typedef long long ll;
 5 ll n,t,vis[N+1],f[N+1];
 6 int main(void){
 7     std::ios::sync_with_stdio(false);
 8     cin>>n;
 9     for(int i=0;i<n;++i){
10         cin>>t;
11         vis[t]++;
12     }
13     for(ll i=1;i<=N;++i)
14         for(ll j=1;i*j<=N;++j)if(vis[i*j])
15             f[i]+=vis[i*j];
16     for(ll i=N;i>=0;--i)if(f[i]>1){
17         cout<<i;
18         return 0;
19     }
20 }

 

以上是关于51nod 1179:最大的最大公约数的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1179 最大的最大公约数

51nod 1179 最大的最大公约数 (无耻的打表计数法)

51nod 1179 最大的最大公约数

51nod 1179 最大的最大公约数

最大的最大公约数( 51nod-1179)

51 Nod 1179 最大的最大公约数(筛法)