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 A365300 #49 Mar 28 2024 04:13:20 %S A365300 0,1,5,21,55,153,368,856,1424,2603,4967,8194,13663,22432,28169,47688, %T A365300 65545,96615,146248,202507,266267,364834,450308,585328,773000,986339, %U A365300 1162748,1472659,1993180,2275962,3012656,3552307,4590959,5404183,6601787,7893270,9340877 %N A365300 a(n) is the smallest nonnegative integer such that the sum of any four ordered terms a(k), k<=n (repetitions allowed), is unique. %C A365300 This is the greedy B_4 sequence. %H A365300 Chai Wah Wu, <a href="/A365300/b365300.txt">Table of n, a(n) for n = 1..50</a> %H A365300 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 A365300 Melvyn B. Nathanson, <a href="https://arxiv.org/abs/2310.14426">The third positive element in the greedy B_h-set</a>, arXiv:2310.14426 [math.NT], 2023. %H A365300 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 A365300 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 A365300 a(4) != 12 because 12+1+1+1 = 5+5+5+0. %o A365300 (Python) %o A365300 def GreedyBh(h, seed, stopat): %o A365300 A = [set() for _ in range(h+1)] %o A365300 A[1] = set(seed) # A[i] will hold the i-fold sumset %o A365300 for j in range(2,h+1): # {2,...,h} %o A365300 for x in A[1]: %o A365300 A[j].update([x+y for y in A[j-1]]) %o A365300 w = max(A[1])+1 %o A365300 while w <= stopat: %o A365300 wgood = True %o A365300 for k in range(1,h): %o A365300 if wgood: %o A365300 for j in range(k+1,h+1): %o A365300 if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()): %o A365300 wgood = False %o A365300 if wgood: %o A365300 A[1].add(w) %o A365300 for k in range(2,h+1): # update A[k] %o A365300 for j in range(1,k): %o A365300 A[k].update([(k-j)*w + x for x in A[j]]) %o A365300 w += 1 %o A365300 return A[1] %o A365300 GreedyBh(4,[0],10000) %o A365300 (Python) %o A365300 from itertools import count, islice, combinations_with_replacement %o A365300 def A365300_gen(): # generator of terms %o A365300 aset, alist = set(), [] %o A365300 for k in count(0): %o A365300 bset = set() %o A365300 for d in combinations_with_replacement(alist+[k],3): %o A365300 if (m:=sum(d)+k) in aset: %o A365300 break %o A365300 bset.add(m) %o A365300 else: %o A365300 yield k %o A365300 alist.append(k) %o A365300 aset |= bset %o A365300 A365300_list = list(islice(A365300_gen(),20)) # _Chai Wah Wu_, Sep 01 2023 %Y A365300 Row 4 of A365515. %Y A365300 Cf. A025582, A051912, A365301, A365302, A365303, A365304, A365305. %K A365300 nonn %O A365300 1,3 %A A365300 _Kevin O'Bryant_, Aug 31 2023 %E A365300 a(27)-a(37) from _Chai Wah Wu_, Sep 01 2023