ボクハソウオモウンデス: 数取りゲームの必勝法を考える。

2014/09/22

数取りゲームの必勝法を考える。

数取りゲームで勝ちたいなって思ったんです。

数取りゲームっていうゲームがあります。
数取りゲームで絶対勝ちたい。
頭のワルそうなオトナに勝負をふっかけてバカにしてやりたい。
こんなクソガキに負けてられない。オトナの威厳を保ちたい。
なんていうときがあるのか無いのか知りませんが、数取りゲームの必勝法を考えておくといざというときに勝ってウレシイ気持ちになったりできそうだなって思うわけです。

数取りゲームとは

最初に数を1つと、言える数の数を指定して、最後にその数を言った方が負け。っていうゲームですね。

例えば
30を言ったら負け。
1度に言っていい数は3つまで。


A「1」
B「2,3,4」
A「5,6」
B「7,8,9」
A「10,11」
B「12,13,14」
A「15,16,17」
B「18,19,20」
A「21」
B「22,23,24」
A「25」
B「26」
A「27,28,29」
B「30」 ← 負け。

っていうゲームです。

十数年前にロンドンブーツ1号2号が出ているテレビ番組(プラチナロンドンブーツだったっけ?)でやっていたNot100(100を言ったら負け)の2人でやるバージョンという感じです。(たぶんゲームの成り立ち順は逆だけど。)

こいつで絶対に勝利するにはどうすればイイかなというお話なわけですね。

よーするに相手が最後の数字言えば勝ちなんです。

取りあえず「30を言ったら負け」「1度に言える数は3つまで」
(以下30の3ルールと呼ぶ)で考えましょう。

「相手が30を言えばイイ」から
「自分が29をコールすればイイ」です。

ということは
「相手が26,27,28のいずれかをコールすればイイ」ので
「自分が25を言えばイイ」です。

ということは
「相手は22,23,24のいずれかをコールすればイイ」ので
「自分は21を言えばイイ」です。

ということは。。。
めんどくさいけど続けまくりますね。

相手に18,19,20のいずれかを言わせるので
自分は17を言えばイイ

相手に14,15,16のいずれかを言わせるので
自分は13を言えばイイ。

相手に10,11,12のいずれかを言わせるので
自分は9を言えばイイ。

相手に6,7,8のいずれかを言わせるので
自分は5を言えばイイ。

相手に2,3,4のいずれかを言わせるので
自分は1を言えばイイ。

だから1を自分がコールしたらもう勝ち確定です。(ミスらなければ)
で、1,5,9,13,17,21,25,29が必勝の数なので憶えておきましょう。

コレが必勝の数ですね!!やったね。

必勝数はイイケド、それだけだと何かさみしい気がする。

ので
ちゃんと必勝要素を考えて数が代わっても大丈夫なようにしちゃいましょう。
これでさみしくありません。

まず勝ちの条件をちゃんと考えます。


「相手に最後の数を言わせる。」
「相手に最後の数を残す。」
「相手に最後の数を余らせる。」

つまり最終的に自分が言った数で最後の1つを余らせればOKなわけです。
ようするに最後の数の1つ前の数を自分が言えれば勝ちです。

次に自分が操作可能な数をちゃんと考えます。

自分の持ち数3と相手の持ち数3という事は 1人分のMAXとminをあわせた4つなら自分のさじ加減だけで調整可能。

つまり意識すれば毎回4ずつなら確実に進められるってお話。

ということは。。。どーゆーこと?

ちょっと小難しいお話を。

数学が死ぬほどキライですっていう人は読み飛ばした方がイイです。
余計キライになるかもしれないので、そんな悲しい出来事はなるべく避けた方がイイわけです。

5と9って4で割った余りがともに1です。
13と17も4で割った余りがともに1です。

スゴく当たり前な感じですけど、まぁ当たり前です。
ちなみに割った余りが同じになる数は、割る数と同じ周期でやってきます。

1 ÷ 4 = 0 余り1  ← コレ
2 ÷ 4 = 0 余り2
3 ÷ 4 = 0 余り3
4 ÷ 4 = 0 余り0
5 ÷ 4 = 0 余り1  ← コレ
6 ÷ 4 = 0 余り2
7 ÷ 4 = 0 余り3
8 ÷ 4 = 0 余り0
9 ÷ 4 = 0 余り1  ← コレ




こんな感じでnで割った余りが同じになる事を
「nを法として合同」とかって言います。

数式もちゃんとあって
5 ≡ 9 (mod 4)って書きます。
意味は「5と9って4で割った余りが一緒です。」って事です。

modってのはmoduloの略です。
ボクは「モッド」とか呼んでましたけど「モデュロー」とか「モジュロー」っていう人もいるみたいです。

ちなみにさっきの必勝の数は全部4で割ると1余るので
29 ≡ 25 ≡ 21 ≡ 17 ≡ 13 ≡ 9 ≡ 5 ≡ 1 (mod 4)
って感じです。

というわけで4を法として29と合同な数をコールし続けてやれば勝ちは確定です。

つまり「最後の数の1個前の数と1度に言える数+1を法として合同な数」を言い続ければ勝ちなわけです。

具体的には

① 29は4で割ると1余るので
② 1~30の中で1番小さな4で割って1余る数を言って
③ そのあとは相手と自分を合わせて数字が4つになるようにコールし続けるだけ

でよさそうです。

小難しいお話は終わりにして。

と言うわけで必勝法を公式っぽく創ってしまいましょう。

最後に言ったら負けの数を最終数とし
1度に言える数+1を周期数とする。

① 最終数の1つ前の数を周期数で割った余りを出す。
② 同じ余りになる1番小さな数を何とかしてコールする。
③ その後は相手の言う数と自分の言う数が周期数になるように言っていく。

30の3ルールの場合

最終数は30
周期数は4

29 ÷ 4 = 7 余り 1

なので最初に1をコールして
それ以降は相手のコールする数と自分のコールする数が4つになるように言い続ける。

A「
B「2,3」
A「4,
B「6」
A「7,8,
B「10,11,12」
A「13
B「14,15」
A「16,17
B「18,19,20」
A「21
B「22,23,24」
A「25
B「26,27」
A「28,29
B「30」  ← 負け。

43の4ルールでやってみる。

最終数は43
周期数は5

42 ÷ 5 = 8 あまり 2

なので、最初に2をコールして
それ以降は相手のコールする数と自分のコールする数が5つになるように言い続ける。

A「1,
B「3」
A「4,5,6,
B「8,9,10」
A「11,12
B「13,14,15,16」
A「17
B「18」
A「19,20,21,22
B「23,24,25,26」
A「27
B「28,29,30」
A「31,32
B「33,34,35,36」
A「37
B「38,39」
A「40,41,42
B「43」 ← 負け

まとめ。

最後に言ったら負けの数を最終数とし
1度に言える数+1を周期数とする。

① 最終数の1つ前の数を周期数で割った余りを出す。
② 同じ余りになる1番小さな数を何とかしてコールする。
③ その後は相手の言う数と自分の言う数が周期数になるように言っていく。

ようにやればまぁ負けないです。
これで世の中みんな数取りゲーム無双。やったね。