【#初始化一个布尔数组,所有值都设为True,表示所有数都可能是素数

    prime=[Truefor_inrange(limit+1)]

    p=2

    while(p*p

    #如果prime[p]没有被改变,那么它是一个素数

    if(prime[p]==True):

    #更新所有p的倍数为非素数】

    可在超算中心运行的时候发现,

    当生成小于或等于10000000的所有素数时,即limit=10000000,这个函数会消耗大量内存和计算时间。

    先前使用自己的电脑模拟并没有出现这种情况,可使用超算,问题就比较明显。

    那种感觉,就好像顶配的电脑里边,出现了一张1050显卡。

    许青舟轻轻转动手中签字笔,正在考虑该怎么修改一下。

    时间一分一秒过去。

    晚上22:30,许青舟吐出一口气,看着屏幕,满意地点了点头。

    【primes=np.array([2,3,5,7,11,13,17,19,23,29,31

    #计算素数间隔

    gaps=np.diff(primes)

    #计算均值和标准差】

    素数定理的近似表达式,它给出了小于或等于某个数$x$的素数数量\pi(x)π(x)的近似值:[\pi(x)\approx\frac{x}{\lnx}]

    这个公式在$x$很大时非常精确。