巨大数演算による円周率計算

巨大整数を計算する自作ライブラリを使って円周率を計算する。

概要

2005/06/29

巨大数演算で円周率を求めるで使用したマチンの公式を計算し、目標であったJavaScriptによる完全な円周率計算プログラムの実装を達成した。桁数を入力すると入力した桁数分の円周率が出力されます。全ての計算を入力した桁数で行っているので、桁数が増えれば増えるほど計算量が爆発的に増大します。

F_PI関数(動かすには巨大数演算で作った関数が必要)

2005/06/29

F_PI = function(A){
        
        Start= new Date;
        var time=Start.getTime();
        DEBUG="";
        
        var Zero="";
        for(i=0;i<eval(A);i++){
        Zero+="0";
        }
        var PI = "0";
        var past_PI = "x";
        var Count=0;
        while(PI!=past_PI){
                past_PI = PI;
                var n21 = String(Count*2+1);
                var n22 = String(Count*2+3);
                var Plus1 = Divd_min((4+Zero),(Mul_min(n21,Invo("5",n21,"0"))));
                var Plus2 = Divd_min((1+Zero),(Mul_min(n22,Invo("239",n22,"0"))));
                var Minus1 = Divd_min((4+Zero),(Mul_min(n22,Invo("5",n22,"0"))));
                var Minus2 =Divd_min((1+Zero),(Mul_min(n21,Invo("239",n21,"0"))));
                var Plus = Add_min(Plus1,Plus2);
                var Minus = Add_min(Minus1,Minus2);
                PI = Add_min(PI,Mul_min("4",Sub_min(Plus,Minus)));
                Count++;
                Count++;
        }
        
        End= new Date;
        time=(End.getTime()-time)/1000;
        PI+=",\n\nCost:"+time+"sec\n"+DEBUG;
        
        return PI;
}

円周率計算デモ(巨大数演算Ver.0.1-beta1で実装)

2005/06/29

円周率計算デモ
桁数
Debug

(終わり数桁の正確性は保証しません)

※その後も改良を続け、現在の最新版はVer.0.3alpha6となっています。

※現在の最新版はVer.0.4。10秒台で1000桁を叩きだす!!

関連記事

2008/08/04

ページ情報

作成日時
2005/06/29
最終更新日時
2008/08/04
HTML4.01版
index.html
XHTML1.1版
index.xhtml
XML原本
index.xml