巨大整数を計算する自作ライブラリを使って円周率を計算する。
2005/06/29
巨大数演算で円周率を求めるで使用したマチンの公式を計算し、目標であったJavaScriptによる完全な円周率計算プログラムの実装を達成した。桁数を入力すると入力した桁数分の円周率が出力されます。全ての計算を入力した桁数で行っているので、桁数が増えれば増えるほど計算量が爆発的に増大します。
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;
}
    2005/06/29
※その後も改良を続け、現在の最新版はVer.0.3alpha6となっています。
※現在の最新版はVer.0.4。10秒台で1000桁を叩きだす!!