美文网首页
一种统计素数的方法

一种统计素数的方法

作者: 52_St | 来源:发表于2018-06-08 21:49 被阅读58次
import math

def sieve(size):
    # 初始化一个待判断统计列表,用于表示该位置的索引是否为素数
    sieve = [True] * size
    # 众所周知,0和1都不是素数,所以为False
    sieve[0] = False
    sieve[1] = False
    # 循环找到所有的非素数,赋值False
    for i in range(2, int(math.sqrt(size)) + 1):
        k = i * 2
        while k < size:
            sieve[k] = False
            k += i
    # 统计所有为True的元素个数,也就是素数的个数
    return sum(1 for x in sieve if x)
# 一千亿之内的素数个数
# 4118054813
print(sieve(100000000000))

相关文章

  • 一种统计素数的方法

  • 产品经理要懂点数学(2)

    关键词:对称加密算法,RSA算法,素数(质数),素数分布,数论。 历史 1976年以前,所有的加密方法都是同一种模...

  • 素数定理-欧几里得算法-乘法逆元

    一、素数定理 素数定理给出的是估计素数个数的方法: 设π(x)是小于x的素数的个数,则 π(x)≈x/l...

  • 统计素数并求和

    本题要求统计给定整数M和N区间内素数的个数并对它们求和。 输入格式:输入在一行中给出2个正整数M和N(1<=M<=...

  • C语言统计素数

    源码如下: 运行结果: 注意 素数,又称质数,即整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数...

  • 输出前50个素数

    传统方法 构造素数表

  • C语言必须要记住的经典程序

    1、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。 程序分析:判断素数的方法:用一个数分别去...

  • 筛法

    素数表的获取 从1~n进行枚举,判断每个数是否是素数,如果是素数则加入素数表,这种方法的枚举部分的复杂度是O(n)...

  • 素数

    素数 素数就是只能被1和其自身整除,且大于1的自然数RSA算法中用到大素数 判断n是否为素数,简单的方法是将n按顺...

  • 嵌入式学习笔记19.11.15

    素数的判断方法: int prime(int n)//判断是否为素数 { int i; for(i=2;i

网友评论

      本文标题:一种统计素数的方法

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