A101274 a(1)=1; for n>1, a(n) is the smallest positive integer such that the set of all sums of adjacent elements up to and including a(n) contains no number more than once.
1, 2, 4, 5, 8, 10, 14, 21, 15, 16, 26, 25, 34, 22, 48, 38, 71, 40, 74, 90, 28, 69, 113, 47, 94, 54, 46, 143, 153, 83, 128, 49, 249, 75, 133, 225, 125, 131, 270, 145, 230, 199, 237, 206, 201, 299, 136, 346, 72, 272, 120, 55, 453, 247, 376, 427, 124, 535, 87, 242, 431, 283, 227, 212, 940, 318, 387, 311, 391, 325
Offset: 1
Keywords
Examples
a(8)=21 because the set of sums of adjacent elements to this point, call it s(7) is {1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,18,19,20,23,24,27,29,30,32,37,41,43,44}. The first number missing from this list is 15, but a(8) cannot equal 15 because 15+14=29 and 29 is already in s(7). Similarly a(8) cannot be 16 because 16+14=30.
Links
- Jean-Marc Falcoz, Table of n, a(n) for n = 1..483
- E. Giaquinta and S. Grabowski, New algorithms for binary jumbled pattern matching, arXiv preprint arXiv:1210.6176 [cs.DS], 2012. - From _N. J. A. Sloane_, Jan 01 2013
Crossrefs
Cf. A005282.
Programs
-
Mathematica
t = {1}; sms = {2}; k = 1; Do[k++; While[Intersection[sms, k + t] != {}, k++]; sms = Join[sms, t + k, {2 k}]; AppendTo[t, k], {41}]; Differences[t] (* Jean-François Alcover, Feb 13 2019, after T. D. Noe in A005282 *)
-
Python
from itertools import count, islice def A101274_gen(): # generator of terms aset1, aset2, alist, n = {1}, set(), [1], 1 for k in count(2): bset2 = {k<<1} if (k<<1) not in aset2: for d in aset1: if (m:=d+k) in aset2: break bset2.add(m) else: yield k-n n = k alist.append(k) aset1.add(k) aset2.update(bset2) A101274_list = list(islice(A101274_gen(),30)) # Chai Wah Wu, Sep 05 2023
Comments