PTA基础编程题目集 之 Python解法(7-15)
7-15 计算圆周率 (15分)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
2
π
=1+
3
1
+
3×5
2!
+
3×5×7
3!
+⋯+
3×5×7×⋯×(2n+1)
n!
+⋯
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
x = float(input())
f = 1
j = 1
sum1 = 1
sum2 = 1
while 1:
sum1 *= j
sum2 *= 2 * j + 1
f += sum1 / sum2
j += 1
if sum1/sum2 < x:
print(f'{2*f:6f}')
break