login
Table read by antidiagonals upward: the n-th row gives the lexicographically earliest infinite B_n sequence starting from 0.
13

%I #22 Mar 01 2024 15:29:18

%S 0,0,1,0,1,2,0,1,3,3,0,1,4,7,4,0,1,5,13,12,5,0,1,6,21,32,20,6,0,1,7,

%T 31,55,71,30,7,0,1,8,43,108,153,124,44,8,0,1,9,57,154,366,368,218,65,

%U 9,0,1,10,73,256,668,926,856,375,80,10,0,1,11,91,333,1153,2214,2286,1424,572,96,11

%N Table read by antidiagonals upward: the n-th row gives the lexicographically earliest infinite B_n sequence starting from 0.

%C 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. Analogous to A347570 except that here the B_n sequences start from a(1) = 0.

%H Chai Wah Wu, <a href="/A365515/b365515.txt">Table of n, a(n) for n = 1..242</a>

%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/B2-Sequence.html">B2 Sequence</a>.

%F a(n) = A347570(n)-1.

%e Table begins:

%e n\k | 1 2 3 4 5 6 7 8 9

%e ----+---------------------------------------------------

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

%e 2 | 0, 1, 3, 7, 12, 20, 30, 44, 65, ...

%e 3 | 0, 1, 4, 13, 32, 71, 124, 218, 375, ...

%e 4 | 0, 1, 5, 21, 55, 153, 368, 856, 1424, ...

%e 5 | 0, 1, 6, 31, 108, 366, 926, 2286, 5733, ...

%e 6 | 0, 1, 7, 43, 154, 668, 2214, 6876, 16864, ...

%e 7 | 0, 1, 8, 57, 256, 1153, 4181, 14180, 47381, ...

%e 8 | 0, 1, 9, 73, 333, 1822, 8043, 28296, 102042, ...

%e 9 | 0, 1, 10, 91, 500, 3119, 13818, 59174, 211135, ...

%o (Python)

%o from itertools import count, islice, combinations_with_replacement

%o def A365515_gen(): # generator of terms

%o asets, alists, klist = [set()], [[]], [0]

%o while True:

%o for i in range(len(klist)-1,-1,-1):

%o kstart, alist, aset = klist[i], alists[i], asets[i]

%o for k in count(kstart):

%o bset = set()

%o for d in combinations_with_replacement(alist+[k],i):

%o if (m:=sum(d)+k) in aset:

%o break

%o bset.add(m)

%o else:

%o yield k

%o alists[i].append(k)

%o klist[i] = k+1

%o asets[i].update(bset)

%o break

%o klist.append(0)

%o asets.append(set())

%o alists.append([])

%o A365515_list = list(islice(A365515_gen(),30))

%Y Cf. A001477 (n=1), A025582 (n=2), A051912 (n=3), A365300 (n=4), A365301 (n=5), A365302 (n=6), A365303 (n=7), A365304 (n=8), A365305 (n=9), A002061 (k=4), A369817 (k=5), A369818 (k=6), A369819 (k=7), A347570.

%K nonn,tabl

%O 1,6

%A _Chai Wah Wu_, Sep 07 2023