导航:首页 > 方法技巧 > 一种快速找到素数的方法

一种快速找到素数的方法

发布时间:2022-11-30 13:56:27

A. 怎样才可以快捷地判断一个数是否是素数

对于素数这个概念,我们自然会想到这样一个问题:怎样从自然数集合中找出素数?素数到底有多少个?

假设给定一个自然数N,要求出N以内的所有素数,可以这样进行:因为N以内的自然数只有三种,一种是1,一种是合数,一种是素数;我们可以象筛东西那样,先把1筛掉,然后再把合数筛掉,剩下的就是素数了,这种在自然数列中寻找素数的方法就叫做埃拉托色尼筛法(简称埃氏筛法)。

用筛法找出不超过N的全部素数,可以遵循下面的定理进行。

辅助定理1:“如果n是不大于x的合数,那么n必有一个不大于√x的素约数(符号“√”表示开平方)”(证从略)。根据辅助定理1,我们只要用不大于√x的素数作筛子,就可将不大于X以内的所有的合数筛除掉。

辅助定理2:“素数有无限多个”(证从略)。

虽然素数有无穷多个,但在自然数列中的一个相当长的数列中,却找不到一个素数,而有时会出现若p是素数,p+2也是素数的情况,所以素数的出现并无规则可言。

一个素数只有1和本身这两个约数,因此素数就不能再分解了。但是合数却有两个以上的素约数,那么合数能不能分解成约数全部是素数的乘积呢?答案是肯定的。

唯一分解定理:“任何大于1的自然数都可以分解成素数的乘积,如果不计较这些素因数的顺序,这种分解方法是唯一的”(证从略)。

根据唯一分解定理,欲求某自然数的倍数之数列,只要用该数乘以自然数列,即可得到该数的倍数之数列。由此可知,合数的出现是有规则可言的。埃氏筛法就是根据合数的出现是有规则可言的基础上,逐个地将不大于√x的素数的倍数筛掉。根据辅助定理1,可知,筛掉那些具有不大于√x素约数的合数,序列中已无合数的存在,剩下的就是大于√x至x的素数了。

在运用筛法时,就可发现,当筛除某数的倍数时,有时会遇到数列中的数已被前一个筛子所筛,这样就会造成计算上的误差。针对此种情况,在数论有一个逐步淘汰原则:
“设有N件事物,其中,N_i件有性质i,N_j件有性质j, ..., N_ij件兼有性质i及j,...,N_ijk件兼有性质i、j及k,...。则此事物中之既无性质i,又无性质j,又无性质k,...者之件数为
N-N_i-N_j-N_k-...+N_ij+...-N_ijk-...+...-...。”①。

根据埃氏筛法和逐步淘汰原则,数论创建了求不大于X以内的素数之函数π(x)。所谓的π(x)函数,是指:
π(x)=N-r-1-{r∑i=1}[N/pi]+{∑1≤ii*pj]-...
+(-1)r[N/pi*pj*...*pr]
这是数论中求自然数列中素数的个数问题之唯一的一个根据规律而创建的函数,而所谓的素数定理中的Lix(x)函数仅是由于计算出来的数值有接近于π(x)函数中的数值而被高斯先生提议替代π(x)函数之用。因为在π(x)函数中的取整之步骤,使得计算成为十分繁琐之事。但在Lix(x)函数中,并无所求素数的个数之任何规律,在Lix函数中,仅是对数函数的积分,而对数函数只是指数函数的反函数也。

阅读全文

与一种快速找到素数的方法相关的资料

热点内容
检测器坏了的方法 浏览:824
湖州氧气探测器安装方法 浏览:259
简单方法把面变成超轻黏土 浏览:503
石英砂焙烧除铁方法的研究 浏览:36
织袋扣数计算方法 浏览:447
高超的教学方法用古文怎么说 浏览:226
裸根茉莉种植方法 浏览:516
过万圣节的方法有哪些 浏览:436
可可粉的使用方法 浏览:142
常用的灭火的方法有 浏览:208
宝来一键启动时好时坏解决方法 浏览:638
自行车挡把安装方法 浏览:988
规模大的野生桑黄的鉴别方法 浏览:677
手机稳定功能器使用方法 浏览:818
判断气胸最简单的方法 浏览:897
充电尾箱安装使用方法 浏览:950
统计学基本方法包括有哪些 浏览:901
绣球怎么水养方法 浏览:244
比字的五笔怎么打字方法 浏览:766
人体缺硫的解决方法 浏览:411