莆仙生活网 > 知识库 >

素数算法

来源:莆仙生活网时间:2024-04-25 22:00:30编辑:莆仙君

求 质数 的计算公式?

P=(r1+1)×(r2+1)×(r3+1)×……×(rn+1)【摘要】
求 质数 的计算公式?【提问】
P=(r1+1)×(r2+1)×(r3+1)×……×(rn+1)【回答】
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。关于素数,有一个常为人所知的的著名问题,即哥德巴赫猜想。素数因其特殊性在计算和数理分析中占有重要地位。【回答】
希望对您有所帮助,如果没有别的问题的话,能否给一个赞么,非常感谢【回答】


质数是怎么算出来的

质数是通过因式分解算出来的,质数定义是在大于1的自然数中除了1和它本身以外不再有其他因数的数称为质数。素数就是质数,即除了1和它本身以外任何数都不能整除他的数。 质数的性质 (1)质数p的约数只有两个:1和p。 (2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。 (3)质数的个数是无限的。 (4)质数的个数公式π(n)是不减函数。 (5)若n为正整数,在n2到(n+1)2之间至少有一个质数。 (6)若n为大于或等于2的正整数,在n到n!之间至少有一个质数。 (7)若质数p为不超过n(n>4)的最大质数,则p>n/2。

素数的判断方法

素数的判断方法如下:1、定义判断法。根据定义所有素数都是大于1的自然数,那么小于等于1的数都没有素数的概念。数字2只有1和2两个因数,因而必定是素数,其他数字x只要判定从2到x-1都无法被它整除,就证明改数字是素数。2、数据理论法。根据数论理论可以把数字分成6个大部分,6i,6i+1,6i+2,6i+3,6i+4,6i+5,也就是说数字x%6计算的值一定是0,1,2,3,4,5这6个数字,而6i,6i+2,6i+3,6i+4一定就是合数,它们都有除了1之外的因数,只有6i+1和6i+5可能是素数,因而一旦判定数字大于等于且6取模结果为0,2,3,4就可以判定不是素数。3、筛选法,就是从2开始可以知道2的所有倍数都是合数,不是2的倍数可能是素数,第一个不是2的倍数的数一定是素数,也就是3,接着将3的倍数全部筛选掉,第一个不是2的倍数也不是3的倍数的数一定是素数也就是5,以此类推,最终筛选出某一范围内的所有素数。

判断素数的5种方法

判断素数的5种方法如下:法1、素合分流律《n级自然数表》提升的极限是两个无限逼近100%的《全素数表》和《全合数表》的有机组合。法2、素数对称律素数总是以△=〔m1m2…mn〕为公变周期,沿着△和△/2轴线,反复无穷地等距离对称出现。虽然有对称性破坏,但这种对称破坏率会随着n值无限提升而无限向零靠拢,素数对称率无限逼近100%。法3、素数对称律(或称:哥德巴赫定理)以任意自然数N(包括0和1)为原点的项标轴正、负方向两端等距离对称分布着无穷的素数对,周期性,反复无穷地合成2N。法4、素数极限分布律《n级素数表》提升的极限是一个横平竖直,整齐排列,有规律(呈等差数列纵队),有秩序(从mn+1起由小到大)的大于mn的原生态《全素数表》往无穷方向延伸。(附素数极限公式分布图于后)法5、素数普遍公式设△=〔m1m2…mn〕是n个顺序素数的最小公倍数,mn+1是第n+1个素数,任意非1自然数N若满足:(N △)=1 且N<m2n+1则N一定是新生素数。

如何判断一个数是否为素数

判断一个数是否为素数的方法有:根据定义所有素数都是大于1的自然数,那么小于等于1的数都没有素数的概念。1、数字2只有1和2两个因数,因而必定是素数,其他数字x只要判定从2到x-1都无法被它整除,就证明改数字是素数。2、仔细思考就会发现,其实数字x的因数分成两大部分,一部分是小于x的平方根,另外一部分大于x的平方根,小于平方根和大于平方根的部分是一一对应的,因而可以只判断从2到平方根的数字是否都能被整除即可。3、根据数论理论可以把数字分成6个大部分,6i,6i+1,6i+2,6i+3,6i+4,6i+5,也就是说数字x%6计算的值一定是0,1,2,3,4,5这6个数字。而6i,6i+2,6i+3,6i+4一定就是合数,它们都有除了1之外的因数,只有6i+1和6i+5可能是素数,因而一旦判定数字大于等于且6取模结果为0,2,3,4就可以判定不是素数。4、最后一种筛选法,就是从2开始可以知道2的所有倍数都是合数,不是2的倍数可能是素数,第一个不是2的倍数的数一定是素数,也就是3,接着将3的倍数全部筛选掉,第一个不是2的倍数也不是3的倍数的数一定是素数也就是5。以此类推,最终筛选出某一范围内的所有素数,接着查表就能得知数字是否是素数。

确定一个数是素数的方法,最多有多少种

方法有很多,没有最多之说。
例如:
1、用尝试法,把小于根号a的素数,都除一下a,尝试是否能整除。
如都不能整除,a就是素数

2、用椭圆曲线方法测试

3、对于特殊的数,例如梅森数,用Lucas-Lehmer测试是否为素数

4、利用一些数的倍数的特征,例如:2的倍数个位数是偶数、3(或9)的倍数各位数字和是3(或9)的倍数、5的倍数个位数是0或5
等等


生成素数表的算法有哪些

筛选法求素数表,最快的素数表生成算法。
所谓“筛选法”指的是“埃拉托色尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。
具体做法如下:
先将1挖掉(因为1不是素数)。
用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。
用3去除它后面的各数,把3的倍数挖掉。
分别用4、5…各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。例如找1~50的素数,要一直进行到除数为47为止(事实上,可以简化,如果需要找1~n范围内素数表,只需进行到除数为n^2(根号n),取其整数即可。例如对1~50,只需进行到将50^2作为除数即可。)
如上算法可表示为:
挖去1;
用刚才被挖去的数的下一个数p去除p后面各数,把p的倍数挖掉;
检查p是否小于n^2的整数部分(如果n=1000, 则检查p<31?),如果是,则返回(2)继续执行,否则就结束;
纸上剩下的数就是素数。
参考链接:http://blog.chinaunix.net/uid-9078996-id-2010292.html


判断一个数是否为素数的算法

我们要判断素数,首先要知道素数的定义。素数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。知道了素数的定义,那么我们应该想一下,如何去判断一个数是否为素数?一种思路是,我们在每次得到一个数后,都去计算,去尝试因式分解它,看它除了1和自身之外还有没有其他因子另一种是,我们去查阅素数表,看这个数在不在素数表上。那我们就要先得到素数表。1-1:稍微动动脑思想:根据素数的定义思考。素数是大于1的自然数,除了1和自身外,其他数都不是它的因子。那我们就可以用一个循环,从2开始遍历到这个数减去1,如果这个数都不能被整除,那么这个数就是素数。也就是说:给定一个数 n , i 从 2 开始取值,直到 n - 1(取整数),如果 n % i != 0 , n 就是素数进一步思考,有必要遍历到 n - 1 吗?除了1以外,任何合数最小的因子就是2,那最大的因子就是 n/2那我们就遍历到 n/2就足够了这样我们就可以写出这个算法的核心代码:

判断一个数是否为素数的算法

找质数的方法:写出这个数的因数。再判断这个数是质数还是合数。
1、一个数除了1和本身,不再有别的约数,这样的数叫做质数或者素数。例如:2,3,5,7,11,13,17,19,23,29等等。
2、一个数,除了1和本身,还的别的因数,这样的数叫做合数。例如4、8、8、9等等。例如:2的所有因数是1和2两个,所以2是质数。例如6的所有因数是:1,2,3,6。一共是4个,所以6是合数。
找因12的因数:
1×12=12
2×6=12
3×4=12
所以12的因数有:1,2,3,4,6,12。共6个。
找因数的方法可以把这个数分成两个因数相乘的积。从一开始比较容易找,写的时候最好能从小到大写出来。重复的只能写一个。例如9的因数:1×9=9
3×3=9
9的因数是:1,3,9共3个。(重复的3只能写一个。)


上一篇:立方碳化硅

下一篇:没有了

相关推荐

热门头条