This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub ruthen71/rcpl
#include "math/enumerate_primes.hpp"
#pragma once #include "math/prime_table.hpp" std::vector<int> enumerate_primes(int n) { auto pt = prime_table(n); std::vector<int> res; res.reserve(std::count(pt.begin(), pt.end(), true)); for (int i = 0; i < pt.size(); i++) { if (pt[i]) res.push_back(i); } return res; }
#line 2 "math/enumerate_primes.hpp" #line 2 "math/prime_table.hpp" std::vector<bool> prime_table(int n) { std::vector<bool> res(n + 1, true); if (n >= 0) res[0] = false; if (n >= 1) res[1] = false; for (int p = 2; p * p <= n; p++) { if (!res[p]) continue; for (int i = p * p; i <= n; i += p) { res[i] = false; } } return res; } #line 4 "math/enumerate_primes.hpp" std::vector<int> enumerate_primes(int n) { auto pt = prime_table(n); std::vector<int> res; res.reserve(std::count(pt.begin(), pt.end(), true)); for (int i = 0; i < pt.size(); i++) { if (pt[i]) res.push_back(i); } return res; }