【EPY】圆周率计算测试

其他可以运行micropython的硬件
K210、nRF、NXP、EASYPY……
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

【EPY】圆周率计算测试

#1

帖子 shaoziyang »

使用python的大整数计算功能,只需要几行代码,就可以方便的计算圆周率,顺便也可以测试一下CPU的性能。

测试代码:

代码: 全选

import epy

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=epy.millis()
    t=pi(n)
    t2=epy.millis()
    print('elapsed: ', (t2 - t1), 'ms')
    return t
使用pt_t()就可以计算指定位数的圆周率需要的时间,默认是10位。

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章