login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

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.
6
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,2
COMMENTS
Does the sequence together with the sums of adjacent elements include all positive integers? Choosing starting values other than a(1)=1 gives other sequences. We could ask, for a given n, which such sequences have the smallest sum of a(k) from k=1 to n.
The first differences of A005282. [Zak Seidov, Nov 06 2010]
LINKS
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
EXAMPLE
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.
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 *)
PROG
(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
CROSSREFS
Cf. A005282.
Sequence in context: A262937 A249508 A163295 * A363446 A080222 A050539
KEYWORD
nonn
AUTHOR
David S. Newman, Dec 20 2004
STATUS
approved