3 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N = 50000010; bool isp[N]; vector prime; void eulerPrime(int n) { memset(isp, true, sizeof(isp)); isp[0] = isp[1] = false; for (int i = 2; i <= n; i++) { if (isp[i]) prime.push_back(i); for (int p : prime) { if (i * p > n) break; isp[i * p] = false; if (i % p == 0) break; } } }
int main(){ int n; cin>>n;
eulerPrime(n); cout<<prime.size(); return 0;
}
信息
- ID
- 1836
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 209
- 已通过
- 39
- 上传者