OFFSET
0,5
REFERENCES
E. R. Berlekamp, J. H. Conway and R. K. Guy, Winning Ways, Academic Press, NY, 2 vols., 1982, see p. 60.
J. H. Conway, On Numbers and Games, Academic Press, p. 52.
LINKS
EXAMPLE
Triangle starts
0;
0, 1;
0, 2, 3;
0, 3, 1, 2;
0, 4, 8, 12, 6;
0, 5, 10, 15, 2, 7;
0, 6, 11, 13, 14, 8, 5;
0, 7, 9, 14, 10, 13, 3, 4;
0, 8, 12, 4, 11, 3, 7, 15, 13;
MAPLE
We continue from A003987: to compute a Nim-multiplication table using (a) an addition table AT := array(0..NA, 0..NA) and (b) a nimsum procedure for larger values; MT := array(0..N, 0..N); for a from 0 to N do MT[a, 0] := 0; MT[0, a] := 0; MT[a, 1] := a; MT[1, a] := a; od: for a from 2 to N do for b from a to N do t1 := {}; for i from 0 to a-1 do for j from 0 to b-1 do u1 := MT[i, b]; u2 := MT[a, j];
if u1<=NA and u2<=NA then u12 := AT[u1, u2]; else u12 := nimsum(u1, u2); fi; u3 := MT[i, j]; if u12<=NA and u3<=NA then u4 := AT[u12, u3]; else u4 := nimsum(u12, u3); fi; t1 := { op(t1), u4}; #t1 := { op(t1), AT[ AT[ MT[i, b], MT[a, j] ], MT[i, j] ] }; od; od;
t2 := sort(convert(t1, list)); j := nops(t2); for i from 1 to nops(t2) do if t2[i] <> i-1 then j := i-1; break; fi; od; MT[a, b] := j; MT[b, a] := j; od; od;
CROSSREFS
KEYWORD
AUTHOR
N. J. A. Sloane, Dec 20 1999
STATUS
approved