OFFSET
0,1
PROG
(PARI) vR(nn) = my(s, t, v=vector(nn)); for(n=1, nn, s=bitor(s, 1<<t += if( t<=n || bittest(s, t-n), n, -n)); v[n]=t); concat(0, v); \\ from A005132
lista(nn) = my(v=vR(nn+1)); vector(nn, k, v[k+2] - v[k]); \\ Michel Marcus, Aug 14 2022
(Python)
from itertools import count, islice
def A356551_gen(): # generator of terms
b, c, aset = 0, 1, {0}
for n in count(2):
aset.add(c)
a, b, c = b, c, d if (d:=c-n)>=0 and d not in aset else c+n
yield c-a
CROSSREFS
KEYWORD
sign
AUTHOR
Paul Curtz, Aug 12 2022
STATUS
approved