素数筛

作者: atok | 来源:发表于2019-03-19 14:52 被阅读0次
/* 素数筛 */
void prime()
{
    for(int i = 1; i <= n; i++) {
        mark[i] = false; // 所有数字均未被标记
    }
    primeSize = 0; // 素数个数为0
    for(int i = 2; i <= n; i++) {
        if(mark[i] == true) continue; // 已被标记,不是素数
        prime[primeSize++] = i;
        for(int j = i * i; j <= n; j += i) {
            mark[j] = true; // 素数的倍数均不是素数
        }
    }
}

相关文章

  • 机试常用算法和题型-数学专题

    数学专题,模拟 素数问题,普通筛和埃氏筛 另一种筛法,连续素数求和得超级素数 质因数 奇数魔方图 求小数的循环部分...

  • 数论

    数学问题 1. 质数筛 埃氏筛 利用当前已经找到的素数,从后面的数中筛去当前素数的倍数,由预备知识一可知,当前素数...

  • 素数筛

  • 素数筛

    素数筛【并发特性】(个人理解) GenerateNatural()函数,用于生成自然数序列,并返回一个自动获取自然...

  • 素数相关问题练习 C++

    辗转相除 素数判定 埃氏筛法

  • 线性筛素数

    对于每一个数: 1.若为素数,由于自身只能被1和自己整除,所以在筛素数时不会被筛去。 2.若为合数,由于一定能被素...

  • Eratosthenes素数筛

    今天我们要学习素数筛,可以快速筛选出素数。讲解之前,别忘了收藏我的编程专题哦筛法理念 将合数从一堆数里面筛出,只留...

  • 204. Count Primes

    n以内素数的个数。 参考:埃拉托斯特尼筛法和素数判断 代码:

  • 素数筛法——2. 素数

    素数问题 题目描述 输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)...

  • 素数筛,线性筛(欧拉筛),莫比乌斯函数筛,前n个数的约数个数筛

    问题:给出一个数n,输出1~n之间的素数 素数筛埃拉托斯特尼筛法每次消去的倍数,直到没有可消的为止,剩下的数字则为...

网友评论

      本文标题:素数筛

      本文链接:https://www.haomeiwen.com/subject/gzggmqtx.html