1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。
但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
请填写这个整数。
注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
public static void main(String[] args) {
// TODO Auto-generated method stub
double sum=0;
double i=1;
for(;;i++) {
sum+=1.0/i;
if(sum>15.00) {
break;
}
}
System.out.print(i);
}
需要注意的点:
- ( 1.0 )是为了 变量之间相除之后得出来的是double类型 大小类型的转换
- double类型之间做比较 不是精准的 例如 15.0与double 15.0 可能不一致,种现象应该跟double类型表示的精度有关。所以当我们比较两个double值是否相等时,应该采用相减的方式。