发布网友 发布时间:2022-04-26 10:03
共5个回答
热心网友 时间:2022-06-27 03:30
筛法求质数:
用筛法求质数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是质数,首先把它筛掉。剩下的数中选择最小的数是质数,然后去掉它的倍数。依次类推,直到筛子为空时结束。如有:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
1不是质数,去掉。剩下的数中2最小,是质数,去掉2的倍数,余下的数是:
3 5 7 9 11 13 15 17 19 21 23 25 27 29
剩下的数中3最小,是质数,去掉3的倍数,如此下去直到所有的数都被筛完,求出的质数为:
2 3 5 7 11 13 17 19 23 29
质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中,将会因为找质数的过程过久,使即使取得信息也会无意义。
在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。。
百度百科--筛法求素数
热心网友 时间:2022-06-27 03:30
方法一:
i=2;n=0
while i<3000:
j=1; k=0
while j<=i:
if i%j==0:
k+=1
if j==i and k==2:
n+=1
print ("Number %d is: %d"%(n,i))
j+=1
i+=1
方法二:
i = 2;k=0
while(i < 3000):
j = 2
while(j <= (i/j)):
if not(i%j): break
j = j + 1
if (j > i/j) : k=k+1;print ("第%d个素数是%d"%(k,i))
i = i + 1
通项公式
素数及伪素数通项公式:
把它拓展到实数那么它的切线为:
由切线方程知,素数永远在斜率3的折线上摆动,最大斜率3+ ,最小斜率3- 。
素数的变量n的通项公式:
有以上公式能够确定伪素数及素数,那么通过对其变量n的识别,我们可以写出任意素数或伪素数
先确定伪素数的变量n,用n(x,y)来表示它,变量是个三维变量,公式如下:
n为偶数时:x,y 均自然数
n为奇数时:
满足以上条件时是P(n)为素数。
参考资料:百度百科--质数
热心网友 时间:2022-06-27 03:31
付费内容限时免费查看回答求质数的方法有非常多种。最简单的方法是依据质数的定义来求。对于一个自然数N,用大于1小于N的各个自然数都去除一下N。假设都除不尽。则N为质数,否则N为合数。质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其它自然数整除的数。换句话说,仅仅有两个正因数(1和自己)的自然数即为素数。
热心网友 时间:2022-06-27 03:31
看我这么辛苦,赏点分吧! 哈哈!热心网友 时间:2022-06-27 03:32
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。合数是由若干个质数相乘而得到的。所以,质数是合数的基础,没有质数就没有合数。