sgu499
来源:互联网 发布:广告优化师 编辑:程序博客网 时间:2024/05/20 13:07
//暴力求解复杂度为O(n(n-1)/2)//假设所有输入中最大值为maxp,枚举i=maxp to 1(从大到小枚举),//如果i是某两个数的约数,则i是所有数的最大最大公约数。//复杂度 ??#include<stdio.h> #include<string.h> #define maxn 1000005 int num[maxn]; int main() { int n,i,j,k; int maxp=1;scanf("%d",&n) ; memset(num,0,sizeof(num)); for(i=1;i<=n;i++) { scanf("%d",&k); num[k]++; if(k>maxp) maxp = k;} for(i=maxp;i>=1;i--) { k=0; for(j=i;j<=maxp;j+=i) { if(num[j]) k+=num[j]; if(k>1) { printf("%d\n",i); return 0;} } } return 0; }
0 0