1 条题解
-
0
C++ :
#define Max(a,b)((a)>(b)?(a):(b)) #include<cstdio> using namespace std; bool v[1000005]; int n,a[10005],Maxn,ans; int tot,k,cnt,b,c; int gcd(int a,int b) { if(b==0)return a; return gcd(b,a%b); } void work1() { for(int i=1;i<=n;i++){ if(a[i]<=ans)continue; for(int j=i+1;j<=n;j++){ if(a[j]<=ans)continue; k=gcd(a[i],a[j]); if(k>ans){ b=a[i];c=a[j]; ans=k; } } }printf("%d",ans); } void work2() { for(int i=Maxn;i>=1;i--){ cnt=0; for(int j=1;i*j<=Maxn;j++) if(v[i*j]==1) { cnt++; if(cnt>=2){ printf("%d",i); return; } } } } int main() { scanf("%d",&n);ans=1;Maxn=0; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); v[a[i]]=1;Maxn=Max(Maxn,a[i]); } work2(); }
- 1
信息
- ID
- 1031
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者