给定一个正整数 n,请你求出 1∼n 中质数的个数。
输入格式
共一行,包含整数 n。
输出格式
共一行,包含一个整数,表示 1∼n 中质数的个数。
数据范围
1≤n≤
输入样例:
8
输出样例:
4
代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int N = 1000010;
int n,cnt;
int att[N];
int Primes[N];
int EgyptFilter(int n){
for(int i = 2;i <= n;i ++){
if(att[i] == 0){
Primes[cnt] = i;
cnt++;
for(int j = i;j <= n;j += i){
att[j] = 1;
}
}
}
return cnt;
}
int main(){
cin>>n;
int res = EgyptFilter(n);
cout<<res;
return 0;
}