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