9人目
今まで8人同士のカプリングを考えてきたが、
今度は9人で考える。
このとき、64ビットで表せなくなるので、
配列を使う。
結果
メモリが足りなかった。
もう一工夫
女の方の並びのことをほとんど考えていなかったので、
ちょっとだけ工夫する。
行列の1行目の1は全て左に持ってくる。
結果
8人のときの場合の数は、
2人目 3 → 3
3人目 10 → 10
4人目 60 → 47
5人目 549 → 297
6人目 7042 → 2397
7人目 114889 → 24974
8人目 2266243 → 315401
こんな単純なことで劇的に減った。
これならいけるかも。
9人のときの結果
場合の数は、
2人目 3
3人目 10
4人目 47
5人目 298
6人目 2412
7人目 25342
8人目 332400
9人目 5220425
1つあたりのメモリ消費量はかなり増えているはずだが、
これならいける。
求める確率
603261247680/36^8(≒0.213838265)
10人のときの結果
実は、アルゴリズムを少し変えれば
10人のときも時間はかかるけれど
9人のときと同じメモリで計算できる。
求める確率
123431964951960/45^9(≒0.163122932)