首页 > 代码库 > 51nod 1179:最大的最大公约数
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:最大的最大公约数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。