计算圆周率计算的程序:
- '''文件:pi.py
- 说明:用MicroPython计算任意精度圆周率计算
- 作者:未知
- 版本:
- 时间:
- 修改:邵子扬
- 2016.5
- '''
- import time
-
- def pi(places=10):
- # 3 + 3*(1/24) + 3*(1/24)*(9/80) + 3*(1/24)*(9/80)*(25/168)
- # The numerators 1, 9, 25, ... are given by (2x + 1) ^ 2
- # The denominators 24, 80, 168 are given by (16x^2 -24x + 8)
- extra = 8
- one = 10 ** (places+extra)
- t, c, n, na, d, da = 3*one, 3*one, 1, 0, 0, 24
-
- while t > 1:
- n, na, d, da = n+na, na+8, d+da, da+32
- t = t * n // d
- c += t
- return c // (10 ** extra)
-
- def pi_t(n=10):
- t1=time.ticks_us()
- t=pi(n)
- t2=time.ticks_us()
- print('elapsed: ', time.ticks_diff(t2,t1)/1000000, 's')
- return t
复制代码
|