1
我想創建一個應用程序,將弄清楚如何找到第n個位置上的數字benfords法律,到目前爲止,我還沒有能夠做到這一點。我可以在第一個位置找到號碼,但之後我不確定。下面是本福特定律的資源:爪哇Benfords法
http://www.mathpages.com/home/kmath302/kmath302.htm
有什麼我想在最底部(最後一個公式)做的,但我似乎無法讓它進入代碼工科數學公式。
這是我做的第一個數字在任何給定的位置:
public static double probability(int position, int digit)
{
double result = Math.log(1+(1/(double) digit))/Math.log(10);
return result;
}
任何想法如何實現它的總結部分?我非常肯定它會涉及到for循環,但是當我嘗試它時似乎並不奏效。
編輯--------------------------------------------- -------------------------------------------
感謝tskuzzy's答案我找到了答案。這是你會怎麼做它在Java中:
public static double probability(int position, int digit) {
double p = 0.0;
for(int k = (int) Math.pow(10,position-1); k < Math.pow(10,position); k++)
{
p += Math.log(1+1.0/(k*10 + digit));
}
return p/Math.log(10);
}
那是一個偉大的想法,但你不能使用雙在for循環和如果你將k作爲一個整數,它不會以數學方式工作,因此不會返回正確的答案... – Rmyers
等待我嘗試了錯誤的方式......這實際上是正確的答案。謝謝! – Rmyers