%I #30 Nov 06 2023 07:17:40
%S 1,2,4,7,12,18,24,34,45,57,71,86,105,126,150,171
%N Additive bases: a(n) is the least integer such that there is an n-element set of integers between 0 and a(n), the sums of pairs (of distinct elements) of which are distinct.
%C Such sets are known as weak Sidon sets, weak B_2 sets, or well-spread sequences.
%C n - 1 <= a(n) <= A003022(n). - _Michael S. Branicky_, Jun 25 2021
%D Alison M. Marr and W. D. Wallis, Magic Graphs, Birkhäuser, 2nd ed., 2013. See Section 2.3.
%D Xiaodong Xu, Meilian Liang, and Zehui Shao, On weak Sidon sequences, The Journal of Combinatorial Mathematics and Combinatorial Computing (2014), 107--113
%H A. Llado, <a href="https://doi.org/10.1016/j.ejc.2007.04.006">Largest cliques in connected supermagic graphs</a>, European Journal of Combinatorics 28 (2007), 2240--2247.
%e a(6)=12 because 0-1-2-4-7-12 (0-5-8-10-11-12) resp. 0-1-2-6-9-12 (0-3-6-10-11-12) are shortest weak Sidon sets of size 6.
%t a[n_Integer?NonNegative] := Module[{k = n - 1}, While[SelectFirst[Subsets[Range[0, k - 1], {n - 1}], Length@Union[Plus @@@ Subsets[#~Join~{k}, {2}]] >= (n*(n - 1))/2 &] === Missing["NotFound"], k++]; k];
%t Table[a[n], {n, 2, 8}] (* _Robert P. P. McKone_, Nov 05 2023 *)
%o (Python)
%o from itertools import combinations, count
%o def a(n):
%o for k in count(n-1):
%o for c in combinations(range(k), n-1):
%o c = c + (k,)
%o ss = set()
%o for s in combinations(c, 2):
%o if sum(s) in ss: break
%o else: ss.add(sum(s))
%o if len(ss) == n*(n-1)//2: return k # use (k, c) for sets
%o print([a(n) for n in range(2, 9)]) # _Michael S. Branicky_, Jun 25 2021
%Y See A003022, A004133, and A004135 for other versions.
%K nonn,hard,more,nice
%O 2,2
%A _Bernd Mulansky_, Jun 25 2021
|