孪生素数是成对出现的自然数。当我们给定一个自然数M时,我们想要知道在小于M的范围内有多少对孪生素数。
(一)本文的算法基于孪生素数猜想的证明过程中的一些结论:
a、任何非1奇数都有奇数核,2n±1两个奇数定义为同核奇数,n即为他们的共同核。
b、同核奇数只可能是三种形态:1、同核的二个奇数皆为合数;2、同核奇数中一个是合数、另一个是素数;3、同核的两个奇数都为素数,也就是学界的孪生素数。
c、根据b中的推论,我们可以得知:单体素数即学界认为除孪生素数外的所有素数,所有单体素数的核一定存在于对应的合数核中。进一步推论是:只要将所有的合数核去除后,包含在合数核中的单体素数核也同时去除。
d、由c推论,“孪生素数的核”一定存在于所有合数核以外的非零自然数N中,而且有无穷多个。逻辑如下:非1奇数只可能为合数、单体素数、孪生素数,所以奇合数核也只可能是这三种核;非零自然数N(1、∞)中每个数均可成为奇数核,全部自然数N不可能都是合数核,所以自然数N中去除合数核后,其余的都是孪生素数的核,一个核产生一对孪生素数。
e、通过列出的完美等差数列群,我们可以推导出所有素数的最终形式为6n±1,孪生素数当然也存在于6n±1之中。通过进一步的计算,我们可以得出所有孪生素数的核一定存在于3n中。
(二)现在给定一个自然数M,我们如何计算在小于M这个数值内的孪生素数对数呢?
例子:如何计算小于111的孪生素数对数?
1、首先计算111内的奇数核数量。由于111是奇数,所以我们计算(111-1)/2=55,得出有55个奇数核。
2、我们知道所有非零自然数N都可以成为奇数核,而全部自然数N可以由3列完美等差数列群组成。通过对这三列等差数列的研究,我们可以找出其中的合数核。剩下的就是孪生素数的核。
3、在3n这个数列中,我们需要找出内藏的合数核。通过计算和比较,我们可以得出在给定的范围内,哪些是合数核,哪些是孪生素数的核。
4、在所有的奇数核中,去除合数核后,剩下的就是孪生素数的核。而一对孪生素数对应一个核,所以孪生素数的对数就是剩余的核的数量。
(三)以上述方法来看,解题思路非常明确。只需要在给定的范围内找出所有的奇数核,然后从中去除合数核,剩下的就是孪生素数的核。而计算的过程虽然看似复杂,但通过计算机编程,可以轻松解决大数值M的计算问题。