%I #21 Feb 27 2024 16:21:02
%S 1,2,5,14,33,72,125,219,376,573,745,1209,1557,2442,3098,4048,5298,
%T 6704,7839,10987,12332,15465,19144,24546,28974,34406,37769,45864,
%U 50877,61372,68303,77918,88545,101917,122032,131625,148575,171237,197815,201454
%N A B3-sequence: a(1) = 1; for n>1, a(n) = smallest number > a(n-1) such that the sums of any three terms are all distinct.
%C This is the B3-sequence analog of the Mian-Chowla B2-sequence (A005282): Let a(1)=1; then use the greedy algorithm to choose the smallest a(n) > a(n-1) such that all sums a(i) + a(j) + a(k) are distinct for 1 <= i <= j <= k <= n. The reciprocal sum of the sequence for the first forty terms is 1.837412....
%H Chai Wah Wu, <a href="/A096772/b096772.txt">Table of n, a(n) for n = 1..176</a>
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/B2-Sequence.html">B2-Sequence.</a>
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/Mian-ChowlaSequence.html">Mian-Chowla Sequence.</a>
%F a(n) = A051912(n-1) + 1. - _Peter Kagey_, Oct 20 2021
%o (Python)
%o from itertools import count, islice
%o def A096772_gen(): # generator of terms
%o aset1, aset2, aset3, alist = set(), set(), set(), []
%o for k in count(1):
%o bset2, bset3 = {k<<1}, {3*k}
%o if 3*k not in aset3:
%o for d in aset1:
%o if (m:=d+(k<<1)) in aset3:
%o break
%o bset2.add(d+k)
%o bset3.add(m)
%o else:
%o for d in aset2:
%o if (m:=d+k) in aset3:
%o break
%o bset3.add(m)
%o else:
%o yield k
%o alist.append(k)
%o aset1.add(k)
%o aset2 |= bset2
%o aset3 |= bset3
%o A096772_list = list(islice(A096772_gen(),30)) # _Chai Wah Wu_, Sep 05 2023
%Y Row 3 of A347570.
%Y Cf. A005282 (Mian-Chowla B2-sequence). A051912.
%K nonn
%O 1,2
%A _Rick L. Shepherd_, Aug 15 2004
|