题目描述
给定一个正整数N,询问1到N中有多少个素数.
输入
一个正整数N.
输出
一个数Ans.表示1到N中有多少个素数
样例输入
10
样例输出
4
#include <iostream>
#include <algorithm>
#include <complex>
using namespace std;
typedef long long ll;
const int maxn = 2e6 + 9;
bool vis[maxn];
ll pr[maxn], pcnt;
void euler() {
vis[1] = 1;
for (int i = 1; i < maxn; i++) {
if (!vis[i])
pr[++pcnt] = i;
for (int j = 1; j <= pcnt; j++) {
ll x = pr[j];
if (x * i >= maxn)
break;
vis[i * x] = 1;
if (i % x == 0)
break;
}
}