cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A318927 Take the binary expansion of n, starting with the most significant bit, and concatenate the lengths of the runs.

Original entry on oeis.org

1, 11, 2, 12, 111, 21, 3, 13, 121, 1111, 112, 22, 211, 31, 4, 14, 131, 1211, 122, 1112, 11111, 1121, 113, 23, 221, 2111, 212, 32, 311, 41, 5, 15, 141, 1311, 132, 1212, 12111, 1221, 123, 1113
Offset: 1

Views

Author

N. J. A. Sloane, Sep 09 2018

Keywords

Comments

Obviously this compressed notation is useful only for n < 1023. A101211 is a version which works for all n.

Examples

			n, binary, run lengths, -> a(n)
1, [1], [1] -> 1
2, [1, 0], [1, 1] -> 11
3, [1, 1], [2] -> 2
4, [1, 0, 0], [1, 2] -> 12
5, [1, 0, 1], [1, 1, 1] -> 111
6, [1, 1, 0], [2, 1] -> 21
7, [1, 1, 1], [3] -> 3
...
		

Crossrefs

Cf. A101211 (without concatenation, as rows), A227736 (rows reversed), A318926 (reverse concatenation).
Cf. A382255 (Heinz numbers instead of concatenation of the run lengths).

Programs

  • Mathematica
    Array[FromDigits@ Flatten[IntegerDigits@ Length[#] & /@ Split@ IntegerDigits[#, 2]] &, 40] (* Michael De Vlieger, Feb 17 2022 *)
  • PARI
    a(n) = { my(d=[], r); while(n, n>>=r=valuation(n+n%2, 2); d=concat(digits(r), d)); fromdigits(d) } \\ Rémy Sigrist, Feb 17 2022, edited by M. F. Hasler, Mar 11 2025
    
  • Python
    from itertools import groupby
    def A318927(n): return int(''.join(str(len(list(g))) for k, g in groupby(bin(n)[2:]))) # Chai Wah Wu, Mar 11 2022