说起素数定律,想必大家都早有耳闻,我今天就来讲一讲什么是素数定律。(由于篇幅较长,我们需要用2~5篇文章和大家慢慢聊,这样大家才能看得心情舒畅)
首先,素数是什么呢?我们小的时候就知道了:不是素数的数(合数)有许多因数,素数只有1和它本身,也就是说,素数在自然数之中是“独一无二”的,是“孤芳自赏”的,这也就是为什么科学家喜欢研究它的原因之一。比如下面10个自然数:
里面哪些是素数呢?只有:
那1算素数吗?这里简单认为它不算,因为这涉及到哥德巴赫猜想的前设和定义。
如果1是素数,则会出现任意的素数都会表示为无限的1和该素数的乘积。这样冗长的计算没有意义。——引自知乎 谢洪来
研究素数的先驱-欧拉
于是,人们开始了对素数的寻找,可是怎么找呢,100个数内找还好说,可是10000个数,一百万个数,除非你挨个儿去除,否则很难知道哪些是素数,哪些不是。不过天才的埃拉托斯特尼用这种方法筛选素数:
在100以内的数,就像是做“核酸检测”,让所有的数和“抗原”2,3,5,7,碰一遍,除不动的就是“感染者”——素数。
在1000以内的数,不仅要除以2,3,5,7,还要去和上一次找到的100以内的“感染者”碰一遍,这样就能找到百位以内的素数。
埃拉托斯特尼之筛
以此类推,人们在17世纪就找到了100万位的素数(那时候找素数全靠纯人手算,可见前人做事多有耐心),后来我们现代人用计算机找到了几亿亿亿亿.....个素数。
讲完了如何获取素数,我们就要步入主题了。
首先要说素数猜想,当时人们的想法就像你我一样简单:我们能不能通过一个函数关系式说明给定范围的自然数内有多少个素数?
“前10个自然数有4个素数
前100个自然数里有25个素数
前1024个自然数里有172个素数
..........
那你能预测1000000个自然数里有多少个素数吗?”
这个问题在18世纪就已经引起了人们的兴趣,高斯通过对当时人们耐心计算出的几十万位的素数表进行了数学分析,他得到了一个宏观的概率公式(我认为,这个公式的发现不仅要归功于高斯,还应归功于那些默默无闻的计算了几十年素数的学者,是他们给出了具体的实验数据。)
大数学家高斯
高斯认为,给定自然数范围内的素数的个数满足一个统计规律:
p为某个区间的总素数个数,x的物理意义是自然数轴
我们用不定积分表示出来:
即:
自然数轴
接下来,我们上软件搞它,我们看看按照高斯的方法,前100个数里能估出来多少个素数:
实际是25个,理论上多出入了4个左右。
那前1000个自然数里面估计有多少个素数呢?
实际上是168个,理论上多出入了8个左右
不过已经很不错了,有数学家曾证明,高斯估计的这个素数个数和真实的素数个数误差永远小于等于11%:
同时,随着n的不断增大(无限大),这个误差会趋于0.
于是,你以后就可以和亲朋好友炫耀了,你可以问他们:“你知道前100,000,000,000(一千亿)个自然数里大概有多少个素数吗?”
它和真实值相差无几
好了,今天素数的故事就先讲到这里,你理解素数在自然数轴上的近似分布规律了吗?
(未完待续)
,