宇宙


πの部屋

・コンピューター好きなあなた!一度は円周率の計算にチャレンジ したことがおありでしょ?作者ももちろんそうです。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倍になります。 実は、もっと効率の良いアルゴリズムはあります。そちらは今後の課題として、今回は見送ることにします。






目次へ戻る
宇宙