【基础入门题035】计算Pi值(一)

x33g5p2x  于2021-12-08 转载在 其他  
字(0.8k)|赞(0)|评价(0)|浏览(280)

【基础入门题】2021.12.01

根据 Pi/4 = 1-1/3+1/5-1/7...,编制计算Pi近似值的函数。

编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道 

————————————————

方法一:循环

def Pi(n):
    res = 0
    for i in range(1,n+1):
        res += 1/(2*i-1)*(-1)**(i+1)
    return res*4

print(Pi(1000))
print(Pi(10000))
print(Pi(100000))
print(Pi(1000000))
print(Pi(10000000))
print(Pi(100000000))

'''
3.140592653839794
3.1414926535900345
3.1415826535897198
3.1415916535897743
3.1415925535897915
3.141592643589326
'''

方法二:推导式

Pi = lambda n:4*sum(1/(2*i-1)*(-1)**(i+1) for i in range(1,n+1))

print(Pi(1000))
print(Pi(10000))
print(Pi(100000))
print(Pi(1000000))
print(Pi(10000000))
print(Pi(100000000))

'''
3.140592653839794
3.1414926535900345
3.1415826535897198
3.1415916535897743
3.1415925535897915
3.141592643589326
'''

1000万次计算到6位有效数字,大约耗时8秒;
1亿次计算到7位有效数字,大约耗时80秒左右;
推导式耗时比循环用时稍多。

欢迎加入CSDN社区!

https://bbs.csdn.net/forums/PythonTogether?typeId=18060

相关文章