5-Java-C(调和级数)
题目描述:
1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。
但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
请填写这个整数。
注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
正确算法:
正确答案是 1835421
这一题考查对float和double的理解,如果粗心就会出错。不需要考虑精度丢失问题。
由于float只能保存8位有效数字,而double可以保留17位有效数字,结果会四舍五入。
所以用float求得的项数和会大一些,而double不会。