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.
%I A365304 #37 Mar 07 2024 16:53:27 %S A365304 0,1,9,73,333,1822,8043,28296,102042,338447,1054824,2569353,6237718, %T A365304 15947108,36179796 %N A365304 a(n) is the smallest nonnegative integer such that the sum of any eight ordered terms a(k), k<=n (repetitions allowed), is unique. %C A365304 This is the greedy B_8 sequence. %H A365304 J. Cilleruelo and J Jimenez-Urroz, <a href="https://doi.org/10.1112/S0025579300015758">B_h[g] sequences</a>, Mathematika (47) 2000, pp. 109-115. %H A365304 Melvyn B. Nathanson and Kevin O'Bryant, <a href="https://arxiv.org/abs/2311.14021">The fourth positive element in the greedy B_h-set</a>, arXiv:2311.14021 [math.NT], 2023. %H A365304 Kevin O'Bryant, <a href="https://doi.org/10.37236/32">A complete annotated bibliography of work related to Sidon sequences</a>, Electron. J. Combin., DS11, Dynamic Surveys (2004), 39 pp. %e A365304 a(4) != 70 because 70+1+1+0+0+0+0+0 = 9+9+9+9+9+9+9+0. %o A365304 (Python) %o A365304 def GreedyBh(h, seed, stopat): %o A365304 A = [set() for _ in range(h+1)] %o A365304 A[1] = set(seed) # A[i] will hold the i-fold sumset %o A365304 for j in range(2,h+1): # {2,...,h} %o A365304 for x in A[1]: %o A365304 A[j].update([x+y for y in A[j-1]]) %o A365304 w = max(A[1])+1 %o A365304 while w <= stopat: %o A365304 wgood = True %o A365304 for k in range(1,h): %o A365304 if wgood: %o A365304 for j in range(k+1,h+1): %o A365304 if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()): %o A365304 wgood = False %o A365304 if wgood: %o A365304 A[1].add(w) %o A365304 for k in range(2,h+1): # update A[k] %o A365304 for j in range(1,k): %o A365304 A[k].update([(k-j)*w + x for x in A[j]]) %o A365304 w += 1 %o A365304 return A[1] %o A365304 GreedyBh(8,[0],10000) %o A365304 (Python) %o A365304 from itertools import count, islice, combinations_with_replacement %o A365304 def A365304_gen(): # generator of terms %o A365304 aset, alist = set(), [] %o A365304 for k in count(0): %o A365304 bset = set() %o A365304 for d in combinations_with_replacement(alist+[k],7): %o A365304 if (m:=sum(d)+k) in aset: %o A365304 break %o A365304 bset.add(m) %o A365304 else: %o A365304 yield k %o A365304 alist.append(k) %o A365304 aset |= bset %o A365304 A365304_list = list(islice(A365304_gen(),10)) # _Chai Wah Wu_, Sep 01 2023 %Y A365304 Row 8 of A365515. %Y A365304 Cf. A025582, A051912, A365300, A365301, A365302, A365303, A365305. %K A365304 nonn,more %O A365304 1,3 %A A365304 _Kevin O'Bryant_, Aug 31 2023 %E A365304 a(11)-a(15) from _Chai Wah Wu_, Sep 13 2023