とあるミッション(意外な終結)。

(前回からの続き)
今度こそきちんとした勝率が求められそうだ。プログラムを以下の式に書き換えよう。
 P = w / (n^2 - d)
ところが、書き換えようとして、書き換えられないことに気がつく。プログラム中の式はすでにそうなっているではないか…。
これは「考えその1」を式にしたものだった。

また振り出しに戻ってしまったか?

ここで念のため、ミッション(英文)を読み返してみた。
するとどうやら、勝率の最も高いパターンを出せ、とはどこにも記されていない。僕が勝手に早合点していたらしい。そして、ローカルテストプログラム内に、答を診断するコードが含まれていることに遅まきながら気づいた。それを判読すると、二つのサイコロを総当たりさせて、勝った数から負けた数を引き、結果がプラスになれば正解!というユルい内容になっている。
なんだそれ? 答を適当に書いても半分くらいは正解になってしまうではないか。しかも判定のアルゴリズムも、僕が最初に書いた、引き分けの結果が勝率に反映される不正確なもの(と僕は思う)。
つまりもうプログラムは完成していたのに、必ずしも勝率が最も高くはないサンプル解答例と自分の答が一致していなかったために、テストにかけずにハナから間違いと判断していた。
ChekiOでこんなテキトーな合否判定は初めて出会ったな。

そんなわけでミッションは拍子抜けして終了。

ところで、通常サイコロの目 [1, 2, 3, 4, 5, 6] は無敵とはどういうことか、テストを重ねる途中で気が付いた。
実はこのサイコロは、無敵というより勝ちも負けもしない、つまり常に勝率50%のツマンネー奴だった(但し無意味に大きな目を持つパターンが相手の場合を除く、この場合8以上の目)。また、面の数に関わらずこの法則は成り立つが、1から始まる連続した数の目に限る。

この記事が気に入ったらサポートをしてみませんか?