No. 087 コンピュータ必勝石取りゲーム

No. 86の石取りゲームを人間とコンピュータが対戦する。どちらから石を取り始めるかはコンピュータが決めてよいとしたとき、コンピュータが必ず勝つプログラムを作成せよ。

【実行例、下線部は入力例】
$ ./knock86
石の数を入力してください(10以上): 20
石の数: 20
ではわたしから
3個取ります
石の数: 17
何個取る(1〜3個)? 3
石の数: 14
1個取ります
石の数: 13
何個取る(1〜3個)? 4
何個取る(1〜3個)? 0
何個取る(1〜3個)? 1
石の数: 12
3個取ります
石の数: 9
何個取る(1〜3個)? 2
石の数: 7
2個取ります
石の数: 5
何個取る(1〜3個)? 3
石の数: 2
1個取ります
石の数: 1
わたしの勝ち
$ ./knock85
石の数を入力してください(10以上): 21
石の数: 21
あなたからどうぞ
何個取る(1〜3個)? 3
石の数: 18
1個取ります
石の数: 17
(以下略)

ヒント:最後の1個をプレイヤーに取らせるには、何個目を取らせればよいか?上の実行例もヒントになっている。