| 提出番号 | 2355 |
|---|---|
| 提出者 | kya |
| 言語 | C++ |
| 提出日時 | 2020-03-25 19:07:33 |
| 問題名 | (21)素数列挙 |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 2ms | 7872KB |
| 2 | AC | 100% | 2ms | 7856KB |
| 3 | AC | 100% | 2ms | 7904KB |
| 4 | AC | 100% | 3ms | 7888KB |
| 5 | AC | 100% | 2ms | 8544KB |
#include <bits/stdc++.h>
using namespace std;
constexpr int MAX = 100100;
vector<bool> eratosthenes_sieve(int n) {
vector<bool> v(n + 1, true);
if (n >= 0) { v[0] = false; }
if (n >= 1) { v[1] = false; }
for (int i = 2; i*i <= n; i++) if (v[i]) {
for (int j = i+i; j <= n; j += i) { v[j] = false; }
}
return v;
}
int main() {
vector<bool> prime = eratosthenes_sieve(MAX);
int n, i = 1;
cin >> n;
while (i <= n) if (prime[i++]) cout << i-1 << " ";
return 0;
}