1 条题解
-
1
参考答案:
#include<iostream>// O(N^2) #include<algorithm> using namespace std; int main() { int n; cin >> n; for (int i = 2; i <= n; ++i) { for (int j = 2; j <= i; ++j) { if (i == j) { cout << i << ' '; } if (i % j == 0) { break; } } } return 0; }
#include<iostream>// O(N) #include<algorithm> using namespace std; const int N = 200010; int st[N], primes[N]; int cnt, n; void get_primes(int n) { for(int i = 2; i <= n; ++ i ) { if(!st[i]) primes[cnt ++] = i; for(int j = 0; primes[j] <= n / i; ++ j ) { st[primes[j] * i] = 1; if(i % primes[j] == 0 ) break; } } } int main() { cin >> n; get_primes(n); for(int i = 0; i < cnt; ++ i ) cout << primes[i] << ' '; return 0; }
- 1
信息
- ID
- 5407
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 7
- 已通过
- 4
- 上传者