素数筛选2710
#include<iostream> using namespace std; int a[20000],label[5000]; //素数筛选 int main(){ int n,max,j,t; while(cin>>n){ max=-1; for(int i=0;i<n;i++){ cin>>label[i]; if(label[i]>max) max=label[i]; } for(int i=1;i<=max;i++) a[i]=1; for(int i=2;i<=max;i++){ if(a[i]==1){ j=i; while(j<=max){ a[j]=i; j+=i; } } } max=-1; for(int i=0;i<n;i++){ if(a[label[i]]>max){ max=a[label[i]]; t=label[i]; } } cout<<t<<endl; } return 0; }