HDU 2710 Max Factor 素数先打表

来源:互联网 发布:seo中标签优化 编辑:程序博客网 时间:2024/06/05 02:25




#include<iostream>using namespace std;bool isprime[20000];//判断是不是素数int prime[20000];//存放素数void init() //素数打表,输入到prime【】中{int i,j,num=0;for(i=0;i<20000;i++)isprime[i]=1; for(i=2;i<20000;i++){if(isprime[i]){prime[num++]=i;//从prinme【0】开始for(j=2;j*i<20000;j++){isprime[j*i]=0;}  }}}int main(){int t,a,i,b,n,max;init();while(scanf("%d",&t)!=EOF){max=0;       while(t--)   {   scanf("%d",&a);   b=1;           for(i=0;prime[i]<=a;i++)   {   if(a%prime[i]==0)     if(b<prime[i]) b=prime[i];   }   if(max<b){max=b;n=a;}   }   printf("%d\n",n);}return 0;}