文章
166
粉丝
68
获赞
787
访问
45.6k
#include <bits/stdc++.h>
using namespace std;
const int N = 1e7+5;
int main() {
int a[N]={0};
for(int i=2;i*i<=N;i++){
int k=2;
while(i*k<=N){
a[i*k]=1;
k++;
}
}
vector<int>primes;
for(int i=2;i<N;i++){
if(a[i]==0)primes.push_back(i);
}
int n;
while(cin>>n){
int ans=0;
for(int i=0;i<primes.size();i++){
if(primes[i]<=n)ans++;
}
cout<<ans<<endl;
}
}
如果没有准备就直接开算的话,时间复杂度绝对过不去
登录后发布评论
暂无评论,来抢沙发