素數快速打表的方法
素數這個東西在編程的時候經常用到,
下面給出一種快速打出一定量素數的代碼。
View Code
bool NotPrime[40005];
long long Prime[40005];
void init()//得到素數
{
long long i,j,num=0;
for(i=2;i<=40000;i++) //注意是從2開始的,直到你想要的范圍。
{
if(!NotPrime[i]) //如果不是不是素數(也就是說是素數了)
{
Prime[num++]=i; //將素數i存儲在prime數組中。
for(j=i*i;j<=40000;j=j+i)
NotPrime[j]=true;
}
}
}
有一點需要說明一下,NotPrime數組被認為是全被初始化false.
在prime數組中的數就是連續的素數了。
posted on 2011-12-01 21:58 More study needed. 閱讀(426) 評論(0) 收藏 舉報

浙公網安備 33010602011771號