标签:筛法求素数表
利用筛法求素数表
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