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.

A347570 Table read by antidiagonals upward: the n-th row gives the lexicographically earliest infinite B_n sequence.

Original entry on oeis.org

1, 1, 2, 1, 2, 3, 1, 2, 4, 4, 1, 2, 5, 8, 5, 1, 2, 6, 14, 13, 6, 1, 2, 7, 22, 33, 21, 7, 1, 2, 8, 32, 56, 72, 31, 8, 1, 2, 9, 44, 109, 154, 125, 45, 9, 1, 2, 10, 58, 155, 367, 369, 219, 66, 10, 1, 2, 11, 74, 257, 669, 927, 857, 376, 81, 11
Offset: 1

Views

Author

Peter Kagey, Sep 06 2021

Keywords

Comments

A B_n sequence is a sequence such that all sums a(x_1) + a(x_2) + ... + a(x_n) are distinct for 1 <= x_1 <= x_2 <= ... <= x_n.

Examples

			Table begins:
n\k | 1  2   3   4    5     6     7      8
----+------------------------------------------
  1 | 1, 2,  3,  4,   5,    6,    7,     8, ...
  2 | 1, 2,  4,  8,  13,   21,   31,    45, ...
  3 | 1, 2,  5, 14,  33,   72,  125,   219, ...
  4 | 1, 2,  6, 22,  56,  154,  369,   857, ...
  5 | 1, 2,  7, 32, 109,  367,  927,  2287, ...
  6 | 1, 2,  8, 44, 155,  669, 2215,  6877, ...
  7 | 1, 2,  9, 58, 257, 1154, 4182, 14181, ...
  8 | 1, 2, 10, 74, 334, 1823, 8044, 28297, ...
		

Crossrefs

Cf. A000027 (n=1), A005282 (n=2), A096772 (n=3), A014206 (k=4), A370754 (k=5).

Programs

  • Python
    from itertools import count, islice, combinations_with_replacement
    def A347570_gen(): # generator of terms
        asets, alists, klist = [set()], [[]], [1]
        while True:
            for i in range(len(klist)-1,-1,-1):
                kstart, alist, aset = klist[i], alists[i], asets[i]
                for k in count(kstart):
                    bset = set()
                    for d in combinations_with_replacement(alist+[k],i):
                        if (m:=sum(d)+k) in aset:
                            break
                        bset.add(m)
                    else:
                        yield k
                        alists[i].append(k)
                        klist[i] = k+1
                        asets[i].update(bset)
                        break
            klist.append(1)
            asets.append(set())
            alists.append([])
    A347570_list = list(islice(A347570_gen(),30)) # Chai Wah Wu, Sep 06 2023