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

一种快速找到素数的方法

发布时间: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函数中,仅是对数函数的积分,而对数函数只是指数函数的反函数也。

阅读全文

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

热点内容
测量房屋角尺的使用方法 浏览:801
禽腺病毒检测方法 浏览:472
皮制手机壳清洗方法 浏览:156
学习英语翻译的方法和技巧 浏览:77
橘子的使用方法 浏览:977
四年级检测电路有两种方法分别是 浏览:935
安阻法的测量方法 浏览:143
儿童低烧怎么办简单的退烧方法 浏览:396
淘宝上的存钱方法怎么存 浏览:107
猫术后化脓最佳治疗方法 浏览:12
夹核桃的工具安装方法 浏览:17
二年级画小汽车简便方法 浏览:39
螺旋式led灯泡安装方法 浏览:220
酸奶的食用方法 浏览:139
神经性胃炎的治疗方法 浏览:258
人工整枝的主要技术方法有哪些 浏览:185
大田玉米收割方法视频 浏览:702
山东省教学方法 浏览:825
支付密码一般怎么设置在哪里设置方法 浏览:795
乳腺癌治疗方法及中药 浏览:554