POJ 3048 線性篩法求素數
阿新 • • 發佈:2019-02-18
一個坑:
有組資料如下:
1
1
坑很深……
//By SiriusRen
#include <cstdio>
#define N 200000
using namespace std;
int n,mindiv[200050],prime[100000],top=0,xx,rec;
int main(){
for(int i=2;i<=N;i++)
{
if(!mindiv[i])prime[++top]=mindiv[i]=i;
for(int j=1;j<=top&&prime[j]*i<=N;j++)
{
mindiv[prime[j]*i ]=prime[j];
if(!(i%prime[j]))break;
}
}
prime[0]=1;
while(~scanf("%d",&n))
{
int ans=0;
while(n--)
{
scanf("%d",&xx);
for(int i=0;prime[i]<=xx;i++)
{
if(!(xx%prime[i])&&ans<prime[i])ans=prime[i],rec=xx;
}
}
printf ("%d\n",rec);
}
}