素数有哪些100以内,素数有哪些100以内有多少个

首页 > 教育 > 作者:YD1662024-05-02 18:16:29

埃氏筛选法(埃拉托斯特尼筛法)

埃氏筛选法对于筛选整数n以内的素数,算法是这么描述的:先把素数2的倍数全部删除,剩下的数第一个为3,再把素数3的倍数全部删除,剩下的第一个数为5,再把素数5的倍数全部删除······直到把n以内最后一个素数的倍数删除完毕,得到n以内的所有素数。代码可以这么写:

素数有哪些100以内,素数有哪些100以内有多少个(9)

这就是下面这位小可爱的观点:

素数有哪些100以内,素数有哪些100以内有多少个(10)

线性筛选

观察可以发现,上面的这种写法有很多次重复计算,这样显然无法做到线性筛选,而另外一种写法却可以得到线性筛选,达到时间复杂度为O(n),代码可以这么写:

素数有哪些100以内,素数有哪些100以内有多少个(11)

Meissel-Lehmer算法

这个算法可以说是黑科技级别的,它能够在3s内求出1e11之内的素数个数,据说还有在300ms内求出1e11的个数的。

素数有哪些100以内,素数有哪些100以内有多少个(12)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.