一般化21ゲームは○手必勝
シラフの時に考えてみたら意外と簡単だったので書いてみます。
普通の21ゲームの必勝法
一度に言える数字は3個までで、21を言わせれば勝ち。この問題は逆から考えていくと良い。
- 相手が21を言うのは自分が20を言った時なので、自分が20を確実に言えるようにする事を考える。
- 3つまで数字を言えるので、20-4=16を自分で言えるようにする。この時相手が答えられるのは17,18,19のどれか。そのいずれでも20に持っていく事が出来る。
- 自分で16と言える為には上と同様に16-4=12を言えればよい。
- これを繰り返すと、自分が4の倍数の数字を言えば相手がどんな数字を言っても20にたどり着ける。
- これが確実に行えるのは自分が【後手】の場合である。
なので21ゲームは【後手必勝】のゲームである。
仮に必勝法を知らないランダムに答える相手に後手を譲っても、相手が勝つ確率はしか無い。圧倒的な違いが出てくる。
一般化21ゲームの必勝法
一度に言える数字はM個までで、Nを言わせれば勝ちと言うルールにしてみる。(N>M)
- 自分でN-1を言えば良い。
- それを言う為にはN-1-(M+1)=N-Mを言えば良い。
- N-1がM+1の倍数の時は通常の21ゲームの時と同じ事を繰り返せば良い。
- (N-1)/(M+1)=Q…Rの時、Rを自分が言えば良い。(R<M+1).
- これを確実に言えるのは【先手】の場合である。
これから一般化21ゲームの必勝法は次の様になる。
ルール:一度に言える数字はM個までで、Nを言わせれば勝ち。 1. N-1がM+1の倍数の時、後手になりM+1の倍数を言う。【後手必勝】 2. そうではない時、先手になり(N-1)/(M+1)=Q…Rの余りRを言う。その後はM+1の倍数を足した数字を言っていく。【先手必勝】
例えば、一度に言える数字は3個までで、22を言わせれば勝ちとしてみる。その時は21/4=5…1なので先手必勝。で、自分が言うべき数字は次の通り。1,5,9,13,17,21。