A227738 Irregular table read by rows: each row n (n>=1) lists the positions where the runs of bits change between 0's and 1's in the binary expansion of n, when scanning it from the least significant to the most significant end.
1, 1, 2, 2, 2, 3, 1, 2, 3, 1, 3, 3, 3, 4, 1, 3, 4, 1, 2, 3, 4, 2, 3, 4, 2, 4, 1, 2, 4, 1, 4, 4, 4, 5, 1, 4, 5, 1, 2, 4, 5, 2, 4, 5, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 3, 4, 5, 3, 4, 5, 3, 5, 1, 3, 5, 1, 2, 3, 5, 2, 3, 5, 2, 5, 1, 2, 5, 1, 5, 5, 5, 6, 1, 5, 6, 1, 2, 5, 6
Offset: 1
Examples
Table begins as: Row n in Terms on n binary that row 1 1 1; 2 10 1,2; 3 11 2; 4 100 2,3; 5 101 1,2,3; 6 110 1,3; 7 111 3; 8 1000 3,4; 9 1001 1,3,4; 10 1010 1,2,3,4; 11 1011 2,3,4; 12 1100 2,4; 13 1101 1,2,4; 14 1110 1,4; 15 1111 4; 16 10000 4,5; etc. The terms also give the partial sums of runlengths, when the binary expansion of n is scanned from the least significant to the most significant end.
Links
- Antti Karttunen, The rows 1..1023 of the table, flattened
- Wikipedia, Gray code
Crossrefs
Programs
-
Maple
T:= n-> (l-> seq(`if`(l[i]=1, i, [][]), i=1..nops(l)))( Bits[Split](Bits[Xor](n, iquo(n, 2)))): seq(T(n), n=1..50); # Alois P. Heinz, Feb 01 2023
-
Mathematica
Table[Rest@FoldList[Plus,0,Length/@Split[Reverse[IntegerDigits[n,2]]]],{n,34}]//Flatten (* Wouter Meeussen, Aug 31 2013 *)
Comments