您的位置:首页 > 其它

POJ 3048 线性筛法求素数

2016-08-28 16:40 176 查看

一个坑:
有组数据如下:
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);
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: