今回は、
xFm - F + 1 = 0
の解を具体的に求めて、
コインが無くなる回数ごとの確率を得る。
まず、上の方程式は、
F0 = 1
Fn = 1 + trim(xFn-1m, n)
で、低次から次々に係数が求まっていく。
ここで、trim(f, n) は f をn次で打ち切った多項式を返す関数。
こう書いたほうがわかりやすいかもしれない。
Fn = 1 + trim(xFn-1m, n - 1)x
多項式の計算のクラスはすでにあるが、
オーバーフローのエラーをなるべく後にずらすために、
(なるべく高次まで計算するために)
trimの機能を加えて計算した。
(m = 3の場合)
F(x) = 1+x+3x2+12x3+55x4+273x5+1428x6+7752x7
+43263x8+246675x9+1430715x10 +8414640x11+50067108x12
+300830572x13+1822766520x14+11124755664x15
+68328754959x16+422030545335x17+2619631042665x18
+16332922290300x19+102240109897695x20
+642312451217745x21+4048514844039120x22
+25594403741131680x23+162250238001816900x24
+1031147983159782228x25+...
ここでオーバーフローとなった。
自分としてはこれで満足だが、
今度はいちおう確率も求めておこう。