以下是代码
#include<bits/stdc++.h>
using namespace std;
const unsigned int N=(int)1e8+10;
unsigned int a[N],b[N];
int main(){
unsigned n,t=0;
scanf("%u",&n);
for(unsigned int i=2;i<=n;i++){
if(!a[i]) b[++t]=i;
for(unsigned int j=1;b[j]*i<=n;j++){
a[b[j]*i]=1;
if(i%b[j]==0){
break;
}
}
}
printf("%u",t);
return 0;
}