33,028
社区成员
发帖
与我相关
我的任务
分享#include<iostream>
#include<bitset>
#define N 10000000
using namespace std;
int main(){
bitset<N>* p=new bitset<N>;
p->set();
for(int i=2; i<=10000; ++i)
if(p->test(i))
for(int j=i*i; j<p->size(); j+=i)
p->reset(j);
int num=0;
for(int i=2; i<N; ++i)
if(p->test(i))
num++;
cout<<endl<<num<<endl;
delete[] p;
return 0;
}
//5761455个素数
#include<iostream>
#include<bitset>
#include<cmath>
#define N 10000000
using namespace std;
int main(){
bitset<N> p;
for(int i=2; i<sqrt(N); i++)
for(int j=i; j<=N/i; j++)
p[i*j]=1;
int num=0;
for(int i=2; i<111; ++i)
if(!p[i]) cout<<i<<" ";
for(int i=2; i<N; ++i)
if(!p[i]) num++;
cout<<endl<<num<<endl;
return 0;
}
//664579个素数