diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
commit | dc1f0c4c0096013799416664894c5194dc7e1f52 (patch) | |
tree | 2f5d235f778cd720f4c39ec3e56b77ba6d99f375 /works/life/algorithm-experiment/1.2.cpp | |
parent | 7299d424d90b1effb6db69e3476ddd5af72eeba4 (diff) | |
download | crupest-dc1f0c4c0096013799416664894c5194dc7e1f52.tar.gz crupest-dc1f0c4c0096013799416664894c5194dc7e1f52.tar.bz2 crupest-dc1f0c4c0096013799416664894c5194dc7e1f52.zip |
chore(store): move everything to store.
Diffstat (limited to 'works/life/algorithm-experiment/1.2.cpp')
-rw-r--r-- | works/life/algorithm-experiment/1.2.cpp | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/works/life/algorithm-experiment/1.2.cpp b/works/life/algorithm-experiment/1.2.cpp deleted file mode 100644 index ab49f6a..0000000 --- a/works/life/algorithm-experiment/1.2.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include <algorithm> -#include <bitset> -#include <cmath> -#include <iomanip> -#include <iostream> - -const int MAXN = 2000000000; -long long pri[100000000]; -std::bitset<MAXN> vis; -int cnt = 0; - -void init() { - for (int i = 2; i < MAXN; ++i) { - if (!vis[i]) { - pri[cnt++] = i; - vis[i] = true; - } // vis[i]置为true或不置true都可以 - for (int j = 0; j < cnt; ++j) { - if (i * pri[j] >= MAXN) //判断是否越界 - break; - vis[i * pri[j]] = true; //筛数 - if (i % pri[j] == 0) //时间复杂度为O(n)的关键! - break; - } - } -} - -int main() { - init(); - - while (!std::cin.eof()) { - long long n; - std::cin >> n; - - bool b = false; - - if (n == 1 || n == 0) { - continue; - } - - if (std::binary_search(pri, pri + cnt, n)) { - std::cout << n << '\n'; - continue; - } - - for (int i = 0; i < cnt; i++) { - if (n % pri[i] == 0) { - b = true; - break; - } - } - - if (b) - continue; - - long long m = std::sqrt(n); - - for (long long i = pri[cnt - 1] + 2; i <= m; i += 2) { - if (n % i == 0) { - b = true; - break; - } - } - - if (!b) { - std::cout << n << '\n'; - } - - std::cin >> std::ws; - } - - return 0; -}
\ No newline at end of file |