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.

A187769 Triangle read by rows: equivalence classes of natural numbers, where numbers are equivalent when having equal numbers of zeros and ones in binary representation, respectively.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 11, 13, 14, 15, 16, 17, 18, 20, 24, 19, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31, 32, 33, 34, 36, 40, 48, 35, 37, 38, 41, 42, 44, 49, 50, 52, 56, 39, 43, 45, 46, 51, 53, 54, 57, 58, 60, 47, 55, 59, 61, 62, 63, 64, 65, 66
Offset: 0

Views

Author

Reinhard Zumkeller, Jan 05 2013

Keywords

Comments

Row lengths are given by Pascal's triangle (cf. A007318), seen as flattened sequence, or for n > 0: length of n-th row = A007318(A003056(n-1),A002262(n-1));
1 <= i < j <= length of n-th row: A023416(T(n,i)) = A023416(T(n,j)), A000120(T(n,i)) = A000120(T(n,j)) and A070939(T(n,i)) = A070939(T(n,j));
the table provides a permutation of the natural numbers when seen as flattened sequence.
This sequence can be seen as an irregular triangle S(i,k) where row 0 = {1}, row n = { m = 2^(n-1)..2^n - 1 } sorted according to omega(A019565(m)), where omega = A001221. Under this arrangement, the rows can be further subdivided into segments of m with the same omega(m), which align with the original definition's triangle T. - Michael De Vlieger, Jan 03 2025

Examples

			See link.
		

Crossrefs

Rows of A187786, duplicates removed;
Cf. A099627 (left edge), A023758 (right edge).

Programs

  • Haskell
    import List (elemIndices)
    a187769 n k = a187769_tabf !! n !! k
    a187769_row n = a187769_tabf !! n
    a187769_tabf = [0] : [elemIndices (b, len - b) $
       takeWhile ((<= len) . uncurry (+)) $ zip a000120_list a023416_list |
       len <- [1 ..], b <- [1 .. len]]
    a187769_list = concat a187769_tabf
  • Mathematica
    {{0}}~Join~Table[SortBy[Range[2^n, 2^(n + 1) - 1], DigitCount[#, 2, 1] &], {n, 0, 8}] // Flatten (* Michael De Vlieger, Jan 03 2025 *)