[go: up one dir, main page]

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”).

A051912
a(n) is the smallest integer such that the sum of any three ordered terms a(k), k <= n, is unique.
15
0, 1, 4, 13, 32, 71, 124, 218, 375, 572, 744, 1208, 1556, 2441, 3097, 4047, 5297, 6703, 7838, 10986, 12331, 15464, 19143, 24545, 28973, 34405, 37768, 45863, 50876, 61371, 68302, 77917, 88544, 101916, 122031, 131624, 148574, 171236, 197814
OFFSET
0,3
LINKS
Chai Wah Wu, Table of n, a(n) for n = 0..225 (terms 0..100 from Robert Israel)
EXAMPLE
Three terms chosen from {0,1,4} can be 0+0+0; 0+0+1; 0+1+1; 1+1+1; 0+0+4; 0+1+4; 1+1+4; 0+4+4; 1+4+4; 4+4+4 are all distinct (3*4*5/6 = 10 terms), so a(2) = 4 is the next integer of the sequence after 0 and 1.
MAPLE
A[0]:= 0: S:= {0}: S2:= {0}: S3:= {0}:
for i from 1 to 40 do
for x from A[i-1] do
if (map(t -> t+x, S2) intersect S3 = {}) and (map(t -> t+2*x, S) intersect S3 = {}) then
A[i]:= x;
S3:= S3 union map(t -> t+x, S2) union map(t -> t+2*x, S) union {3*x};
S2:= S2 union map(t -> t+x, S) union {2*x};
S:= S union {x};
break
fi
od
od:
seq(A[i], i=0..40); # Robert Israel, Jul 01 2019
MATHEMATICA
a[0] = 0; a[1] = 1; a[n_] := a[n] = For[A0 = Array[a, n, 0]; an = a[n-1] + 1, True, an++, A1 = Append[A0, an]; A2 = Flatten[Table[A1[[{i, j, k}]], {i, 1, n+1}, {j, i, n+1}, {k, j, n+1}], 2]; A3 = Sort[Total /@ A2]; If[Length[A3] == Length[Union[A3]], Return[an]]]; Table[an = a[n]; Print["a(", n, ") = ", an]; an, {n, 0, 38}] (* Jean-François Alcover, Nov 24 2016 *)
PROG
(Python)
from itertools import count, islice
def A051912_gen(): # generator of terms
aset1, aset2, aset3, alist = set(), set(), set(), []
for k in count(0):
bset2, bset3 = {k<<1}, {3*k}
if 3*k not in aset3:
for d in aset1:
if (m:=d+(k<<1)) in aset3:
break
bset2.add(d+k)
bset3.add(m)
else:
for d in aset2:
if (m:=d+k) in aset3:
break
bset3.add(m)
else:
yield k
alist.append(k)
aset1.add(k)
aset2 |= bset2
aset3 |= bset3
A051912_list = list(islice(A051912_gen(), 20)) # Chai Wah Wu, Sep 01 2023
CROSSREFS
Row 3 of A365515.
Sequence in context: A011936 A037235 A363256 * A060099 A208638 A173277
KEYWORD
nonn,nice
AUTHOR
Wouter Meeussen, Dec 17 1999
EXTENSIONS
More terms from Naohiro Nomoto, Jul 22 2001
STATUS
approved