N88-BASICで円周率 (3回目)
2022/12/27(火) N88-BASICで円周率 (3回目) レオンハルト・オイラー ( Leonhard Euler ) の展開式 Tan -1 (x) = x/(1+x 2 )Σ[n=0~∞]Π[k=1~n] {(2kx 2 )/(2k+1)(1+x 2 )} (n = 0の項は1とする) より π = 4Tan -1 (1) = 2Σ[n=0~∞]Π[k=1~n]{k/(2k+1)} (n = 0の項は1) = 2(1 + 1/3 + 1・2/(3・5) + 1・2・3/(3・5・7) + …) = 2(1 + 1/3(1 + 2/5(1 + k/(2k+1)(1 + … )))) = 2 + 1/3(2 + 2/5(2 + k/(2k+1)(2 + … )))) π = 2 + 1/3(2 + 2/5(2 + k/(2k+1)(2 + … )))) これを基数倍して整数部分を取出していく 以後、基数を10として解説します (2桁ずつ取出す時は基数100になる) [/]:商、%:余、[]:ガウス記号として k/b { a } = k[a / b] + k/b { (a % b) } を利用して帯分数に変換 (1/3{20} → 1・6+1/3{2}) 以下、これの繰返し d + k/(2k+1)(a + … ) のk/(2k+1) × aを1未満に変換して dに加えていく つまり 10πを d k-1 + k/(2k+1)(d k + … ) = 10d k-1 + k[10a/(2k+1)] + k/(2k+1)(10d k % 10 + … ) {k = n~1} に変換していく d 0 = 31となるので 3を表示してd 0 = 1 としてさらに10(10π)して を繰返す 10倍する毎に{k = n~1}の nを減らすことができる 桁数hと項数nの関係 nと桁数h...