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

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

昨天发出之后,收到很多朋友的评论,讨论更高效的求素数的方法,我将大家的评论一一看过,觉得受益良多,同时也没有闲着,动手又敲了一遍这些精妙的求素数的方法,发出来与大家共享。

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

这是一位大佬

就像上面这位朋友所说,求素数的方法确实有很多:100以下随便做,枚举估验特判开心就好,100000以下用6倍筛,1000000以下用埃氏筛,100万以上直接欧拉筛,不优化40000000以内秒过,一个亿以内的欧拉优化过……

我真被这简洁明了的概括惊呆了。

那今天就按照这样的顺序讲一下这些求素数的方法吧。

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

100以内:随便做

什么意思,就是最简单的定义来就好了。根据定义,判断一个整数n是否是素数,只需要去判断在整数区间[2, n-1]之内,是否具有某个数m,使得n % m == 0。

我们把这种方法叫做朴素判断素数算法或者试除法,代码是这样的:

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

事实上,这个算法是O(n)的,感觉是很快了,但是依旧无法满足需求。

所以有一个算法是O(sqrt(n))的算法:

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

首页 1234下一页

栏目热文

文档排行

本站推荐

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