1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。
但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
请填写这个整数。
注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
思路:看题整体框架会先想到累加,然后寻找每一项之间的关系。
分子都为1,分母为1,2,3,4~~一直无线增加。所以分母可以又for循环实现,再让1除以每一个分母最后进行累加。
代码如下:
public static void main(String[] args) {
// TODO Auto-generated method stub
double a = 0;// double类型是以免 商为小数而等于0
int c=0; //c用来记录次数
for (double i = 1.0;; i++) {
a+=1/i;
c++;
if (a>=15.0) {
System.out.println(c);
return;
}
}
}