关于素数

转载 2007年09月22日 16:14:00

定义:素数是大于1的整数数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。 

孪生素数:就是差为2的素数对,例如11和13。是否存在无穷多的孪生素数,还没有证明。  

  早在公元前300年,希腊数学家欧几里得就已证明过,不论你取的数是多大,肯定还会有比它大的素数。对于前任意多个素数,如果算出了它们的乘积后再加上1,所得的数或者是一个素数,或者是比所列出的素数还要大的几个素数的乘积。不论所取的数有多大,总有比它大的素数,因此,素数的数目是无限的。

生成素数:
   数学家一直努力找寻产生素数的公式,但截至目前为止,并没有一个函数或是多项式可以正确产生所有的素数。
   有一种质数叫费马数。形式是:Fn=2^(2^n)+1,但目前只有n=0,1,2,3,4,Fn才是质数,以后都是合数。
   17世纪还有位法国数学家叫梅森,他曾经做过一个猜想:2^p-1代数式,当p是质数时,2^p-1是质数。他验算出了当p=2、3、5、7、17、19时,代数式的值都是质数,后来欧拉证明p=31时,2^p-1是质数。 p=2,3,5,7时,Mp都是素数,但M11=2047=23×89不是素数。还剩下p=67、127、257三个梅森数,由于太大,长期没有人去验证。梅森去世250年后,美国数学家科勒证明,2^67-1=193707721*761838257287,是一个合数。这是第九个梅森数。20世纪,人们先后证明:第10个梅森数是质数,第11个梅森数是合数。质数排列得杂乱无章,给人们寻找质数规律造成了困难。 

找素数:
    一种方法是从2开始用“是则留下,不是则去掉”的方法把所有的数列出来。第一个数是2,它是一个素数,所以应当把它留下来,然后继续往下数,每隔一个数删去一个数,这样就能把所有能被2整除数都去掉。在留下的数当中,排在2后面的是3,这是第二个素数,因此应该把它留下,然后从它开始往后数,每隔两个数删去一个,这样就能把所有能被3整除的数全都去掉。下一个素数是5,然后往后每隔4个数删去一个,以除去所有能被5整除的数。再下一个数是7......

检验素数: 
      检查一个正整数N是否为素数,最简单的方法就是试除法,将该数N用小于等于sqrt(N)的所有素数去试除,若均无法整除,则N为素数

未解之谜:
- 哥德巴赫猜想:每个大於2的双数均可写成两个质数之和?
- 孪生素数猜想:存在无穷多的孪生素数?
- 斐波那契数列存在无穷多的素数?
- 存在无穷多梅森素数?
- 在n^2与(n+1)^2之间每隔n就有一个素数?
- 存在无穷个形式如n^2+1的素数?
- 黎曼猜想
- 存在不定长的素数算术级数?

输出1000中素数

  • 2017年04月25日 11:12
  • 13KB
  • 下载

素数筛法系列之5 完整实现

#include #include #include #include #define FACT        (255255 * 1)    // 3 * 5 * 7 * 11 * ...

求小于一个数的所有素数

  • 2015年10月30日 18:07
  • 666B
  • 下载

C语言18素数的整除

  • 2013年08月10日 17:23
  • 1KB
  • 下载

筛选法求100以内的素数

用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的      数是素数,然后去掉它的倍数。依次类推,直到“筛子”为空时结束。如...

素数判断程序

  • 2013年12月10日 09:46
  • 16KB
  • 下载

数组之用筛法求N之内的素数

素数与整数的选择方式的不同

  • 2013年07月21日 19:32
  • 9KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于素数
举报原因:
原因补充:

(最多只允许输入30个字)