如何批量生成大质数

起因

教授在写哈希,经常要找一些大的但是不常用的质数,教授不想背,所以打了这个。线性筛虽然时间上效率比埃氏筛高,但是相应的,空间是要比埃氏筛大的。所以选了埃氏筛。freopen是必不可少的。

#include

using namespace std;

bool a[1000000001];

long long d;

void aishi(long long x)

{

a[1]=1;

for(long long i=2;i<=x;i++)

{

if(a[i]==0)

{

for(long long j=2;i*j<=x;j++)

a[i*j]=1;

}

}

}

int main()

{

freopen("aishi.txt","w",stdout);

scanf("%lld",&d);

aishi(d);

for(long long h=d;h>=1;h--)

{

if(a[h]==0)

printf("%lld\n",h);

}

}

效果

需要跑很长时间才能跑出来,但是很好用。

Copyright © 2088 霓蓝星游戏活动站_二次元游戏资讯_专属礼包 All Rights Reserved.
友情链接