コインゲーム(13)

今回は、

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+...

ここでオーバーフローとなった。
自分としてはこれで満足だが、
今度はいちおう確率も求めておこう。