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