标签:筛法求素数表
利用筛法求素数表
const int Max = 1e6 + 50;
int isPrime[Max];<span style="white-space:pre"> </span>//素数判断结果表
int tblPrime[Max];<span style="white-space:pre"> </span>//所求得的素数表
int lenPrimes;<span style="white-space:pre"> </span>//所求得的素数表的长度(个数)
void initTblOfPrime()
{
memset(isPrime, 1, sizeof(isPrime));
isPrime[0] = isPrime[1] = 0;
for(int i = 2; i < sqrt(Max*1.0); i ++)
{
if(isPrime[i]){
for(int j = i*i; j < Max; j += i)
{
isPrime[j] = 0;
}
}
}
lenPrimes = 0;
for(int i = 2; i < Max; i ++)
{
if(isPrime[i]) tblPrime[lenPrimes++] = i;
}
}标签:筛法求素数表
原文地址:http://blog.csdn.net/u011504498/article/details/38614443