筛选一定范围内素数 c/c++模板
发布日期:2021-07-22 07:28:49 浏览次数:6 分类:技术文章

本文共 477 字,大约阅读时间需要 1 分钟。

素数筛法代码如下

#define MAX 10000int prime[MAX];    //保存筛得的素数int primeSize; 	   //保存素数的个数bool mark[MAX + 1];  //若mark[x]为true,则表示该数x已被标记成非素数void init() {
for (int i = 0; i <= MAX; i++) {
//初始化,所有数字都没被标记 mark[i] = false; } primeSize = 0; //得到素数个数为0 for (int i = 2; i <= MAX; i++) {
//遍历从2至MAX范围内所有数字 if (mark[i] == true) continue; // 若该数字标记过则跳过 prime[primeSize++] = i; //否则得到新素数 for (int j = i * i; j <= MAX; j += i) {
//将该数所有倍数标记为非素数 mark[j] = true; } }}

转载地址:https://blog.csdn.net/m0_45689014/article/details/113107651 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:二分求幂 A的B次方
下一篇:PTA基础编程题目集 6-10计算大数阶乘

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月07日 14时25分48秒