//发现了一种写起来方便的素数筛选法、速度也够快
//比用sqrt写函数判断快噢
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define N 1000000
using namespace std;
bool hash[N];
int main()
{
int i,j=0;
for(j=4;j<N;j+=2)
hash[j]=1;
for(i=3;i<1000;i+=2)
if(!hash[i])//在这里面就可以直接收集素数放在数组里面了
for(j=i*i;j<N;j+=i)
hash[j]=1;
for(j=1,i=3;i<N;i+=2)
if(!hash[i])
j++;
printf("%d\n",j);
return 0;
}
来源:https://www.cnblogs.com/372465774y/archive/2012/07/23/2604835.html