OFFSET
0,4
COMMENTS
Observe that many "safe" three-pile positions in Nim (1-2-3, 1-4-5, 2-4-6, etc.) consist of one pile whose size is the sum of the sizes of the other two. The "Break" move is designed to trivially defeat these positions by breaking the large pile into copies of the other two. This leaves a clear winning position where every pile has a "twin".
Like the standard Nimsum function defined in A003987, this relation constitutes an Abelian group over nonnegative integers where every element is its own inverse.
FORMULA
NSum(x,y) = Flip(Flip(x) XOR Flip(y))
Where XOR is the bitwise exclusive OR characteristic of A003987.
Flip(n) = 0 if n == 0.
= n+1 if n is odd.
= n-1 if n is even.
EXAMPLE
The square table defining the relation begins:
0 1 2 3 4 5 6 7 8 9 ...
1 0 4 5 2 3 8 9 6 7 ...
2 4 0 6 1 8 3 10 5 12 ...
3 5 6 0 8 1 2 11 4 13 ...
4 2 1 8 0 6 5 12 3 10 ...
5 3 8 1 6 0 4 13 2 11 ...
6 8 3 2 5 4 0 14 1 16 ...
7 9 10 11 12 13 14 0 16 1 ...
8 6 5 4 3 2 1 16 0 14 ...
9 7 12 13 10 11 16 1 14 0 ...
. . . . . . . . . .
Reading from the table, 1-2-4, 1-3-5 and 2-3-6 are safe positions in Take-or-Break Nim.
PROG
(PARI) flip(x) = if (x==0, 0, if (x % 2, x+1, x-1));
tabl(nn) = {for (n=0, nn, for (k=0, nn, print1(flip(bitxor(flip(n), flip(k))), ", "); ); print(); ); } \\ Michel Marcus, Apr 23 2015
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Patrick McKinley, Apr 19 2015
STATUS
approved