
πの部屋
・コンピューター好きなあなた!一度は円周率の計算にチャレンジ
したことがおありでしょ?作者ももちろんそうです。BASIC が動く中古ポケコンで200桁を計算したのが初めてでした。
次に500桁を計算させたみたら10時間を越えてしまいました。結果を印刷中に電池切れでプリンタが停止し、
思わず男泣きしたことを今でも覚えています。
・ところで、円周率の計算方法ってご存知ですか?円周率の計算はとてもありふれた話題の割にその手の情報が
あんまりないようです。どうしてなんでしょうね?ないのなら自分で作ればいいや、
というわけで、このWebページを作ることにしました。
1.開発環境
・まず使用した環境を紹介します。
CPU : 無印 Pentium 133 Mhz(ノートパソコン)
OS : Windows95 および DOS窓
使用言語1:LSI C-86 Ver 3.30c試食版
これは、エル・エス・アイ ジャパン(株)さんから発売されている
LSI C-86 の試用版です。と言っても制限が緩やかで,ドキュメントも揃ってますから,ちょっとしたプログラムの開発やC言語の勉強には非常に役にたちます。もちろん試用版ですから,無料で使えます。
プログラムは,あちらこちらのWebサイトからダウンロードできるようです。あるいは雑誌の付録
CDROMに収められていることもあります。作者は、C MAGAZINE(ソフトバンク発行)から入手しました。
使用言語2:Boland Delphi
インプライズという社名に変わってしまいましたが、そこから発売されているVisual開発環境です。言語は
Object Pascal です。10万桁や100万桁を計算させるには、さすがにDOSでは簡単にできそうもありません。そこで、メモリ上の制約が少ないWin上で動かすことにしました。
2.使用する公式
円周率計算に使用できる公式は多数ありますが,よく知られるものは,
・ ガウスの公式,
・ ストーマーの公式
・ マーチンの公式
です。 下記にその公式をあらわします。
ガウスの公式

ストーマーの公式

マーチンの公式

さらに,下記に示すarctan()の級数展開を利用して,円周率の計算をおこないます。
上の式は,いずれも計算時間が 計算桁数の2乗に比例します。つまり求める桁数を2倍にすると,計算時間は4倍になります。
実は、もっと効率の良いアルゴリズムはあります。そちらは今後の課題として、今回は見送ることにします。

