マチンの公式により円周率を計算するJavaSvriptです。
・C言語からの移植です。
・時間がかかるので10万桁までに制限してあります。
・大量に求めるには、もっと良い計算方法、ソフトがあります。
・LMAXを増やした場合、200万桁までは動作確認済みです。
・Hを4より大きくするとマトモに動きません(理由を調べてはいません)。

参考:3万桁の計算にかかった時間(ミリ秒)
Chrome3168
FireFox6203
Edge3172
※2022年5月30日。コンピュータの性能によっても変化します。

桁数を指定して計算ボタンを押して下さい。

かかった時間が表示されます(ミリ秒)


◆円周率と私

中学の頃に、どういうわけか円周率に興味を持ち、小数点以下100桁くらい暗記しました。その後、大学生くらいまで、何となく少し増やして、最終的に132桁暗記しました。

語呂合わせが色々あるのですが、

産医師異国に向こう 3.14159265
産後薬なく 358979
産に産婆四郎二郎死産 3238462643
産婆さんに泣く 383279
御礼には早よ行くな 502884197

最初はこれで小数点以下39桁暗記しました。あとはただ数字の羅列を覚えました。

高校生のときに、パソコン(PC-6001)で、マチンの公式を使ってマシン語(Z80)で円周率を1万桁計算しました。と言っても、当時そんなものを作れるはずもなく、マイコンBASICマガジン(ベーマガ)に載っていたプログラムを、PC-6001で動くようにアドレスを変えただけです。16進数を見て、逆アセンブルしてアドレスのところだけ変更。

当時はメモリが32KB(32768文字分)しかなくて、VRAMを使って計算しました。計算時間は、2時間40分くらいかかりました。現在のPCではスクリプトで1秒かからないのですから、とんでもなく速くなったものです。

ちょうど高校の数学の授業で自由研究がありました。好きなテーマについて調べてレポートを書くというもの。円周率を計算する公式にどんなものがあるか、それらの公式を使っての手計算やコンピュータによる計算の歴史、arctanをどうやって計算するのか、つまり、テイラー展開、マクローリン展開の話などを書きました。

社会人になってから、休み時間に作ったのがこのプログラム(のC言語版)です。会社のサーバーで100万桁計算させようとしたら何日も終わらなくて、バックグラウンドで動かしていたら管理者から「これ何?」と言われましたが、「円周率を計算してます」で許されました。

戻る