我有一个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