login
Regular triangle where the n-th row lists the integers k between 0 and n ordered by increasing value of the Hamming weight of k, and if equal by increasing value of k.
3

%I #16 Oct 13 2015 11:28:38

%S 0,0,1,0,1,2,0,1,2,3,0,1,2,4,3,0,1,2,4,3,5,0,1,2,4,3,5,6,0,1,2,4,3,5,

%T 6,7,0,1,2,4,8,3,5,6,7,0,1,2,4,8,3,5,6,9,7,0,1,2,4,8,3,5,6,9,10,7,0,1,

%U 2,4,8,3,5,6,9,10,7,11,0,1,2,4,8,3,5,6,9,10,12,7,11

%N Regular triangle where the n-th row lists the integers k between 0 and n ordered by increasing value of the Hamming weight of k, and if equal by increasing value of k.

%H Michel Marcus, <a href="/A262881/b262881.txt">Table of n, a(n) for n = 0..2079</a> (64 rows)

%e Triangle starts:

%e 0;

%e 0, 1;

%e 0, 1, 2;

%e 0, 1, 2, 3;

%e 0, 1, 2, 4, 3;

%e 0, 1, 2, 4, 3, 5;

%e 0, 1, 2, 4, 3, 5, 6;

%e 0, 1, 2, 4, 3, 5, 6, 7;

%e 0, 1, 2, 4, 8, 3, 5, 6, 7;

%e 0, 1, 2, 4, 8, 3, 5, 6, 9, 7;

%e 0, 1, 2, 4, 8, 3, 5, 6, 9, 10, 7;

%e ...

%t Table[SortBy[Range@ k, And[Total@ IntegerDigits[#, 2], k] &], {k, 10}] (* _Michael De Vlieger_, Oct 04 2015 *)

%o (PARI) cmph(i, j) = if (hammingweight(i) != hammingweight(j), hammingweight(i) - hammingweight(j), i - j);

%o row(n) = my(v = vector(n+1, k, k-1)); vecsort(v, cmph);

%o tabl(nn) = for (n=0, nn, print(row(n)););

%Y Cf. A000120 (Hamming weight), A262882 (right diagonal).

%K nonn,base,tabl

%O 0,6

%A _Michel Marcus_, Oct 04 2015