login
A091068
a(0) = 0; for n>0, a(n) = a(n-1) - n if that is >= 0, else a(n) = a(n-1) + n - 1.
3
0, 0, 1, 3, 6, 1, 6, 12, 4, 12, 2, 12, 0, 12, 25, 10, 25, 8, 25, 6, 25, 4, 25, 2, 25, 0, 25, 51, 23, 51, 21, 51, 19, 51, 17, 51, 15, 51, 13, 51, 11, 51, 9, 51, 7, 51, 5, 51, 3, 51, 1, 51, 102, 49, 102, 47, 102, 45, 102, 43, 102, 41, 102, 39, 102, 37, 102, 35, 102, 33
OFFSET
0,4
COMMENTS
A sequence equivalent to A091023. Let b(k) = A091023(k) for all k. Suppose we have just assigned b(x) = n. Then a(n-1) is the number of b(k) for 1 <= k < x that are not yet assigned.
LINKS
FORMULA
This is a concatenation of blocks: b(-2) = [0], b(-1) = [0], b(0) = [1], b(1) = [3], b(2) = [6 1 6], b(3) = [12 4 12 2 12 0 12], b(4) = [25 10 25 8 25 6 25 4 25 2 25 0 25], ...
Let M(k) be the k-th term of A077854. Then block b(k) for k >= 2 is [M(k), x, M(k), x-2, M(k), x-4, M(k), ..., M(k), 0 or 1, M(k)] where x = M(k-1) - 2. The length of the block is M(k+1) - 2 M(k) + M(k-1) (the second difference of A077854, shifted one place).
EXAMPLE
a(4) = 6, 6-5 = 1 >= 0, so a(5) = 1. 1-6 < 0, so a(6) = 1 + 5 = 6.
When in A091023 we assign b(8) = 11, there are 2 unassigned b's to the left, namely b(3) and b(6) and indeed a(10) = 2.
MATHEMATICA
t={0}; Do[AppendTo[t, If[t[[-1]]-n>=0, t[[-1]]-n, t[[-1]]+n-1]], {n, 1, 69}]; t (* Indranil Ghosh, Feb 22 2017 *)
nxt[{n_, a_}]:={n+1, If[a-n-1>=0, a-n-1, a+n]}; NestList[nxt, {0, 0}, 70][[;; , 2]] (* Harvey P. Dale, Jun 14 2023 *)
PROG
(Python)
print("0 0")
i=1
a=0
if a-i>=0:b=a-i
else:b=a+i-1
while i<=100:
print(str(i)+" "+str(b))
a=b
i+=1
if a-i>=0:b=a-i
else:b=a+i-1 # Indranil Ghosh, Feb 22 2017
CROSSREFS
Sequence in context: A055263 A004157 A331514 * A065233 A345681 A243658
KEYWORD
nonn
AUTHOR
N. J. A. Sloane, Feb 23 2004
STATUS
approved