用python计算圆周率PI
import math import time scale=10 print("执行开始") t=time.process_time() for i in range(scale+1): a,b='**'*i,'..'*(scale-i) c=(i/scale)*100 π=4*(4*math.atan(1/5)-math.atan(1/239)) print("%{:3}[{}->{}]".format(a,b,c)) time.sleep(0.1) print(π) print("{:.2f}s".format(t)) print("执行结束")
算法说明:
一个正方形内部相切一个圆,圆和正方形的面积之比是π/4。
在这个正方形内部,随机产生n个点(这些点服从均匀分布),计算它们与中心点的距离是否大于圆的半径,以此判断是否落在圆的内部。
统计圆内的点数,与n的比值乘以4,就是π的值。理论上,n越大,计算的π值越准。