A051933 Triangle T(n,m) = Nim-sum (or XOR) of n and m, read by rows, 0<=m<=n.
0, 1, 0, 2, 3, 0, 3, 2, 1, 0, 4, 5, 6, 7, 0, 5, 4, 7, 6, 1, 0, 6, 7, 4, 5, 2, 3, 0, 7, 6, 5, 4, 3, 2, 1, 0, 8, 9, 10, 11, 12, 13, 14, 15, 0, 9, 8, 11, 10, 13, 12, 15, 14, 1, 0, 10, 11, 8, 9, 14, 15, 12, 13, 2, 3, 0, 11, 10, 9, 8, 15, 14, 13, 12, 3, 2, 1, 0, 12, 13, 14, 15, 8, 9, 10, 11, 4, 5, 6, 7, 0
Offset: 0
Examples
{0}, {1,0}, {2,3,0}, {3,2,1,0}, ...
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
- Reinhard Zumkeller, Rows n = 0..127 of triangle, flattened first 50 rows by R. J. Mathar
- Index entries for sequences related to Nim-sums
Crossrefs
Programs
-
Haskell
import Data.Bits (xor) a051933 n k = n `xor` k :: Int a051933_row n = map (a051933 n) [0..n] a051933_tabl = map a051933_row [0..] -- Reinhard Zumkeller, Aug 02 2014, Aug 13 2013
-
Julia
using IntegerSequences A051933Row(n) = [Bits("XOR", n, k) for k in 0:n] for n in 0:10 println(A051933Row(n)) end # Peter Luschny, Sep 25 2021
-
Maple
nimsum := proc(a,b) local t1,t2,t3,t4,l; t1 := convert(a+2^20,base,2); t2 := convert(b+2^20,base,2); t3 := evalm(t1+t2); map(x->x mod 2, t3); t4 := convert(evalm(%),list); l := convert(t4,base,2,10); sum(l[k]*10^(k-1), k=1..nops(l)); end; # memo: adjust 2^20 to be much bigger than a and b AT := array(0..N,0..N); for a from 0 to N do for b from a to N do AT[a,b] := nimsum(a,b); AT[b,a] := AT[a,b]; od: od: # Alternative: A051933 := (n, k) -> Bits:-Xor(n, k): seq(seq(A051933(n, k), k=0..n), n=0..12); # Peter Luschny, Sep 23 2019
-
Mathematica
Flatten[Table[BitXor[m, n], {m, 0, 12}, {n, 0, m}]] (* Jean-François Alcover, Apr 29 2011 *)
Extensions
More terms from Michael Lugo (mlugo(AT)thelabelguy.com), Dec 22 1999
Comments