ニム和
方法1 ビットごとの排他的論理和を用いる。整数を2進数表現に変換し、ビットごとの排他的論理和を計算する。
例 ニム和(6,12)の場合、十進数6は0110で、十進数12は1100で、これらのビットごとの排他的論理和は1010で、十進数10となる。
方法2 未使用最小整数を用いる。0以上の整数m,nに対し以下の関数Gを計算し、 ニム和(m,n)=G(m,n)とする。すなわちゲームの局面の値は、次のケームの局面の値として未使用の0以上の最小の整数であるというグランディ値の定義を利用する。
G(0,0)=0。
正のmについて、G(m,0)はG(m -1,0),...,G(0,0)に値として使われていない最小の0以上の整数。
正のnについて、G(0,n)はG(0,n -1),...,G(0,0)に値として使われていない最小の0以上の整数。
正のm,nについて、G(m,n)はG(m,n -1),...,G(m,0),G(m -1,n),...,G(0,n)に値として使われていない最小の0以上の整数。
例 G(1,0)はG(0,0)=0に値として使われていない最小の0以上の整数なので1。同様にG(0,1)は1。