巨大整数を計算する自作ライブラリを使って円周率を計算する。
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桁を叩きだす!!