OFFSET
1,2
LINKS
Rémy Sigrist, Table of n, a(n) for n = 1..10000
Michael De Vlieger, Thomas Scheuerle, Rémy Sigrist, N. J. A. Sloane, and Walter Trump, The Binary Two-Up Sequence, arXiv:2209.04108 [math.CO] [math.CO], Sep 11 2022.
Rémy Sigrist, PARI program
FORMULA
Conjecture from N. J. A. Sloane, Jul 15 2022: (Start)
The following is a conjectured explicit formula for a(n).
Define the "fence posts" by F(0) = 1, F(2i+1) = 2^(i+4) - 3 for i >= 0, F(2i) = 3*2^(i+2) - 3 for i >= 1.
The F(i) sequence begins 1, 13, 21, 29, 45, 61, 93, 125, 189, 253, 381, ... (cf. A136252 or A354788)
The value of a(n) at n = F(i) is V(i) = 0 if i = 0, V(i) = 3*F(i)+2 if i >= 1.
The V(i) sequence begins 0, 41, 65, 89, 137, 185, 281, 377, 569, 761, ... (cf. A354789).
The first 12 terms of the sequence are irregular, so we simply define a(n) for F(0) = 1 <= n <= 12 to be the n-th term of
[0, 5, 9, 13, 15, 19, 21, 25, 29, 31, 33, 37]
Assume now that n >= F(1) = 13, and define i and j by F(i) <= n < F(i+1), n = F(i) + j.
Then we conjecture that a(n) = V(i) + f(j) where f(0) .. f(3) are 0,2,4,8, and for j >= 4, f(j) = 3*j if j is even, f(j) = 3*j-1 if j is odd.
The f(i), i >= 0, sequence is independent of n (to find a(n) we use only an initial segment of f(n)), and begins:
0, 2, 4, 8, 12, 14, 18, 20, 24, 26, 30, 32, 36, 38, 42, 44, 48, 50, 54, 56, ...
The conjecture has been checked for the first 5000 terms.
(End)
The conjecture is now known to be true. See De Vlieger et al. (2022). - N. J. A. Sloane, Aug 29 2022
PROG
(PARI) See Links section.
(Python)
from itertools import count, islice
from collections import deque
from functools import reduce
from operator import or_
def A354798_gen(): # generator of terms
aset, aqueue, b, f, i = {0, 1, 2}, deque([2]), 2, False, 2
yield 0
while True:
for k in count(1):
m, j, j2, r, s = 0, 0, 1, b, k
while r > 0:
r, q = divmod(r, 2)
if not q:
s, y = divmod(s, 2)
m += y*j2
j += 1
j2 *= 2
if s > 0:
m += s*2**b.bit_length()
if m not in aset:
i += 1
if m.bit_count() > 1:
yield i
aset.add(m)
aqueue.append(m)
if f: aqueue.popleft()
b = reduce(or_, aqueue)
f = not f
break
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Rémy Sigrist and N. J. A. Sloane, Jun 06 2022
STATUS
approved