ソフト

π

πって昔から人間を魅了してきたようです。ちなみにπってギリシャ語の"周"を表す語の頭文字だそうです。(περιφερεια:ペリフェレイア)

で、πの計算の歴史ですが、
アルキメデスの時代は小数点以下2桁つまり3.14
彼は3+10/71<π<3+1/7
   つまり、3.1408・・・<π<3.1428・・・ としています。

ルドルフ・ファン・コーヘンが17世紀初頭に35桁
日本では関孝和が11桁まで求めていました。
18世紀初頭にはアブラハム・シャープが71桁
18世紀末にはバロン・ベガが136桁
19世紀末になるとウィリアム・シャンクスが527桁
そして、1999年4月で687億桁、1999年中には1000億桁になっているのでは。

πを計算して見よう!
今は、パソコンで簡単に計算できるから、プログラムを書いて見ました。興味ある人は実行して見てください。私のパソコンで十進ベーシック(十進1000桁)を使って0.7秒弱で998桁まで計算できました。
なお、十進ベーシックは
http://hp.vector.co.jp/authors/VA008683/
で入手できます。

で、使う式ですが(arctanはtanの逆三角関数)
π/4=4×arctan(1/5)-arctan(1/239)
arctan(x)=x-x3/3+x5/5-x7/7+……
これは、J.Machin(1680-1752)の公式と呼ばれているものです。

100 ! πの計算
110 LET t0=time
120 LET L1=1
130 LET p=0
140 LET k=1
150 LET t=4*4/5
160 do while (p<>L1)
170 LET L1=p
180 LET p=p+t/k
190 LET t=-t/(5*5)
200 LET k=k+2
210 loop
220 LET L2=1
230 LET q=0
240 LET k=1
250 LET t=4/239
260 do while (q<>L2)
270 LET L2=q
280 LET q=q-t/k
290 LET t=t/(-239*239)
300 LET k=k+2
310 loop
320 LET x=L1+L2
330 print x
340 PRINT time-t0;"秒かかりました"
350 END


(2005.5.13 追加)
もっと、すごい方法がありました。金田グループが採用している方法だそうです。
十進1000桁を使用して以下のプログラムを走らせて見てください。
そのすごさがわかります。
ちなみに、
n=1で 2桁
n=2で 7桁
n=3で 18桁
n=4で 40桁
n=5で 84桁 まで正確に出ます。
n=9で約1000桁 パソコンでは無理ですがn=19 で100万桁を超えるそうです。

! ガウス・ルジャンドルによる算術幾何平均に基づく方法 
INPUT PROMPT "ループ回数=?":n   ! 千桁に指定する。 n>10では千桁を超える 
LET a=1
LET b=1/sqr(2)
LET c=1/4
LET x=1
for i=1 to n
LET y=a
LET a=(a+b)/2
LET b=sqr(b*y)
LET c=c-x*(a-y)^2
LET x=2*x
next I
PRINT (a+b)^2/(4*c)
END



ソフト戻る

ソフト