0
已解决
杜智宸
中级光能
中级光能
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<ctime>
#include<algorithm>
#include<iomanip>
#include<stack>
#include<queue>
using namespace std;
int a[10000010];
int main(){
int n;
cin>>n;
a[1]=1;
for(int i=2;i<=n;i++){
if(a[i]==0){
for(int j=i*2;j<=n;j+=i){
a[j]=1;
}
}
}
int cnt=0;
for(int i=1;i<=n;i++){
if(a[i]==0) cnt++;
}
cout<<cnt;
return 0;
}
0
已采纳
余彦文
初级光能
初级光能
这个不用埃氏筛,每个题目都有合适的方法。
即使个你一个无限大的数组,你还是会超时。
因为n最大是10000000,你最多会循环50000000000000次
远远的超过了100000000
建议直接循环找质数,cnt++
0
0
0
0