チョコレートゲームの必勝法


 チョコレートゲームの必勝法は以下の式で表すことができます.
x⊕y⊕z≠0 先手必勝
 これはニム和といい, 繰り上がりをしない二進数の足し算で計算することができます.コンピューター・プログラミングで用いられる排他的論理和と同じです. この数字を0にした状態で相手に渡すことができれば, あなたは必ず勝つことができます.


ニム和とは?

 ニム和は, 情報科学ではよく使われるものです.2つの数字を2進数に直した状態で繰り上がりせずに和を作ることなので, 計算機にとってはとても基本的な計算です.


二進数とは?


 普段私たちは, 0~9までの10個の数字(10進数)を用いて数を表していますが, 2進数では, 0と1で数を表します.
 10進数から2進数への変換は簡単な計算によって求めることもできます.10進数の数字を2のn乗(...2 3+22+21+20)の和で表します.
 例えば, 10進数で22と表される数字について考えてみます.22は, 2 4+22+21なので, 24,22,21の位に1を入れ, 残りの位に0を入れます.そうすると, 10110という数ができます.10進数で22という数字は2進数で表すと10110となります.これで10進数から2進数への変換ができます.

参考(10進数)


ニム和の計算

 ニム和は繰り上がりのない2進数の足し算によって求めることができます.

 この表を縦に見た時, 1の数が偶数であれば, 0となります.

必勝法

 ニム和が, 0の状態で相手に渡し続ければ勝てます.

石取りゲーム next