问题描述
历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:
pai = 4*(1-1/3+1/5-1/7 …)
参见【图1.png】
这个公式简单而优美,但美中不足,它收敛的太慢了。 如果我们四舍五入保留它的两位小数,那么:
累积1项是:4.00 累积2项是:2.67 累积3项是:3.47 。。。
请你写出它累积100项是多少(四舍五入到小数后两位)。
注意:只填写该小数本身,不要填写任何多余的说明或解释文字。
思路分析及代码实现
思路:
观察公式可得偶数项为-,奇数为+,因此我们可以判断前一百项的奇偶性来进行加减,然后套用公式,最后将结果用round函数进行四舍五入保留两位小数即可
result = 0
start = 1
for i in range(1, 101):
if i % 2 == 0:
result = result - 4/start
start += 2
else:
result = result + 4/start
start += 2
print(round(result, 2))