我有一個Java程序,我必須做的功課,這裏是我必須使用的公式:picture of formula。對不起,我不是以英語爲母語的人,我不知道這個公式的名字。爲這個數學計算有更好的解決方案嗎? (Java)
我已經寫了這個解決方案:
/* Check:
* if: j<=3:
*
* 1/1+sqrt2=0,414213562
* 1/sqrt2+sqrt3=0,317837245
* 1/sqrt3+sqrt4=0,267949192
* res= 0,9999999 =~1.0
*/
double sum = 0;
for (int j = 2; j <= 624; j++)
{
sum += 1/((Math.sqrt(j) + Math.sqrt(j + 1)));
}
double res = 0;
res = (double)1/(1 + Math.sqrt(2)) + sum;
System.out.println("Result is: " + res);
我已經檢查的程序j=2
到j=3
,它給了正確的結果(1.0左右)。所以我認爲它運作良好。但是,當我試圖達到j<=624
,我的結果是:24.000000000000014
我怎樣才能使結果將在我的計劃24.0,而不是24.000000000014?
2.這個數學公式有更好的解決方案/源代碼嗎?這個公式的英文名字是什麼?
+1將其列爲作業,但將來請使用作業標籤。 – Rob
@blaces:您的鏈接給我安全錯誤:「服務器的證書與主機名不匹配。」您的電腦管理員需要修復此問題。 – rossum