0
已解决
题目链接: 酷町堂:6605
题目描述 De**ion
给定N,求1,2,…,N中素数的个数
输入描述 Input De**ion
一行:一个整数N
输出描述 Output De**ion
一行:一个整数表示素数的个数
样例输入 Sample Input
10
样例输出 Sample Output
4
数据范围及提示 Data Size & Hint
对于40% 的数据,1≤N≤106
对于 80% 的数据,1≤N≤107
对于 100% 的数据1≤N≤108
我的0分超时代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e9+10;
char su[N];
int n;
int main(){
cin>>n;
int co=0;
for(int i=2;i<=n;i++){
su[i]=1;
}
for(int i=2;i<=sqrt(n);i++){
if(su[i]==1){
for(int j=2*i;j<=n;j+=i){
su[j]=0;
}
}
}
for(int i=2;i<=n;i++){
if(su[i]) co++;
}
cout<<co;
return 0;
}
求回复!!!谢谢!!