标程:【模板】线性素数筛法
Andrewzdm
2020-03-28 12:49:33
2020-07-28 21:52:10
32
返回题目
#include <iostream>
#include <cstring>
using namespace std;
int tot, n;
int prime[2500000];
bool isp[40000005];
void find_prime() {
memset(isp + 2, 1, sizeof(isp) - 2);
for (register int i = 2; i <= n; ++i) {
if (isp[i]) {
prime[++tot] = i;
}
for (register int j = 1; j <= tot && i * prime[j] <= n; ++j) {
isp[i * prime[j]] = false;
if (i % prime[j] == 0)
break;
}
}
return;
}
int main() {
cin >> n;
find_prime();
cout << tot << endl;
return 0;
}
{{ vote && vote.total.up }}