题目
1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。
但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
解题思路
- 直接暴力解就完事了。
- 有个细节,就是你算完的结果是1835422,但是结果是1835421,这是因为题目中求的是要加多少项?所以需要减去第一项。
Code
#调和级数的总和超过或达到15
sum = 0.0
res = 1
while sum <= 15:
sum += 1.0/res
res += 1
print('要加{}项,才能使得和达到或超过15.0'.format(res-1))
要加1835421项,才能使得和达到或超过15.0