2009年4月30日 星期四

一個質數分佈的統計方法

又是時代已久遠到無從躇考的主意,當時剛剛升上中一,興致勃勃要拿一個諾貝爾數學獎,其中一個開心大發現是質數的分佈,是當時在研究如何寫一個找一個數的因子,由此去統計世上所有的質數,但是如此文,遇到了死迴圈便放棄了,心想人腦比電腦聰明的地方在於人腦可以自行發現解決不了的問題(Infinite recursion)而放棄的,而電腦就不懂,一定要寫程式的人去代它發現,電腦並不聰明,而是寫程式的人聰明!

今天似乎是解決了,但想必早有其他數學家發現了!

我的思路是:
1. 因為一個數的因子最大只可能是它的平方根,即任何數在某意義上都涵蓋了它的平方,由它的性質去決定在它平方範圍內的數是不是質數;
2. 另外,再考慮到所有非質數的分佈,例如2的倍數出現在任何數字的機會是2份1.3的倍數出現在任何數字的機會是3份1,N的倍數出現在任何數字的機會是N份1,只要除去該範圍內的所有部數,剩下的一定非質數不可。
1是決定了質數範圍,2是用反向思維來提供找質數的方法,關門可以打狗!

所以結論是:
質數在N^2內的機會率為:
1-[(2的倒數+3的倒數+4的倒數+...N的倒數)-(2...N的倒數的所有組合,如此是減去多數一次的因子,例如4是2的部數)]

出問題了!
因為2也是2的倍數,3也是3的倍數,如此類推,即如果因子本身是質數,在我算法內也會被當成非質數,因為我的算法本身不是用來決定一個數是不是質數,我的算法只可以排除一定不是質數的數字,所以此算法只可以作為近似值,用來比較N平方到(N+1)平方的質數分佈,不可以推出一個絕對值。

(後記,現在剛想到的是可不可冒險犯難,把所有因子自動當成質數而加入算式內呢?因此變成:
1-[(2的倒數-N平方的倒數+3的倒數-N平方的倒數+4的倒數-N平方的倒數+...N的倒數)-(2...N的倒數
的所有組合,如此是減去多數一次的因子,例如4是2的部數)]
或:
1-[(2的倒數+3的倒數+4的倒數+...N的倒數)-(2...N的倒數的所有組合,如此是減去多數一次的因子,例如4是2的部數)-N的倒數]
未解決,未解決,未解決!)

沒有留言: