素数筛法

网友投稿 533 2022-10-03

素数筛法

素数筛法

高效找出2-n之间的所有素数。

#include #include #include using namespace std;int n = 1000000;void PrimeSelect(vector &prime, vector &mark) { for (int i = 2; i <= n; i++) { if (mark[i] == true) { continue; } prime.push_back(i); if (i > sqrt(n)) { continue; } for (int j = i * i; j <= n; j += i) { mark[j] = true; } }}int main() { vector prime; vector mark(n + 1, false); PrimeSelect(prime, mark); for (int i = 0; i < prime.size(); i++) { cout << prime[i] << " "; } cout << endl; return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LeetCode-1247. Minimum Swaps to Make Strings Equal
下一篇:小程序如何获取手机号信息(微信小程序云开发获取手机号)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~