#include<iostream>
using namespace std;
const int N=1e6+10;
int n,cnt;
bool st[N];
int primes[N];
void get_primes(int n){
for(int i=2;i<=n;i++){
if(!st[i]) primes[cnt++] = i;
for(int j=0;primes[j]<=n/i;j++){
st[primes[j]*i] = true;
if(i%primes[j]==0) break;
}
}
printf("%d",cnt);
}
int main(){
scanf("%d",&n);
get_primes(n);
}
线性筛法筛质数(C++实现)
最新推荐文章于 2024-04-11 12:59:40 发布