2021年4月9日金曜日

HP PrimeのCASで円周率の計算

HP PrimeのCASで円周率の計算をやってみました。

pythonでは多桁整数の計算が出来ますが、PrimeのCAS・XCASでも同様なので、これを利用してMachinの公式による円周率計算を行った次第。

つぎのプログラムをHP Primeのプログラムに書き込み、実行後、CASに移動して

m(100)

の様に打ち込んでやります。すると、円周率の計算を行って、結果が出てきます。

項の計算で末尾まで行っているわけではないので、100と入力しても、100桁の精度があるのかはわかりません。100桁の精度が所望の場合には、120とか、大きな値を設定して実行するとよいと思います。
また、このプログラムもモノホンのpythonで実行できると思います。


#cas
def  machin(n) :

  s = 0
  t1 = 10**n // 5
  t2 = 10**n // 239

  f = 0

  for i in range(n):
    d = 1+2*i
    if f == 0 :
      s = s + t1//d * 4
      s = s - t2//d
      t1 = t1 // 5 // 5
      t2 = t2 // 239 // 239
    else :
      s = s - t1//d * 4
      s = s + t2//d
      t1 = t1 // 5 // 5
      t2 = t2 // 239 // 239
    f = 1 - f

  print(s*4)

#end


0 件のコメント: