login
A358338
a(n) = abs(a(n-1) - count(a(n-1))) where count(a(n-1)) is the number of times a(n-1) has appeared so far in the sequence, a(1)=0.
1
0, 1, 0, 2, 1, 1, 2, 0, 3, 2, 1, 3, 1, 4, 3, 0, 4, 2, 2, 3, 1, 5, 4, 1, 6, 5, 3, 2, 4, 0, 5, 2, 5, 1, 7, 6, 4, 1, 8, 7, 5, 0, 6, 3, 3, 4, 2, 6, 2, 7, 4, 3, 5, 1, 9, 8, 6, 1, 10, 9, 7, 3, 6, 0, 7, 2, 8, 5, 2, 9, 6, 1, 11, 10, 8, 4, 4, 5, 3, 7, 1, 12, 11, 9, 5, 4
OFFSET
1,4
COMMENTS
This sequence is related to the inventory sequence (A342585) as it uses the number of times a number has occurred so far in the sequence.
The following comments are only empirical observations:
ceiling(sqrt(2n)) is an excellent envelope of a(n) with no exceptions found in the first 50000 terms.
When x > 3 appears for the first time, it seems to always be preceded by a 1 and followed by x-1. Also, x-1 will already have occurred earlier in the sequence (new highest terms grow by 1).
The number of times x > 0 appears in the first k terms seems to approximately equal sqrt(2k)-x-1. Therefore, 1 appears approximately sqrt(2k) times. The highest term that has appeared in k terms is then approximately sqrt(2k), which also makes sense considering the number of times 1 appears and the fact that a new number is preceded by 1. The only exception is 0, which appears approximately sqrt(2k)/2 times.
LINKS
EXAMPLE
For n=2, a(2-1)=0 and 0 has occurred 1 time so far so a(2)=abs(0-1)=1.
For n=12, a(12-1)=1 and 1 has occurred 4 times so far so a(12)=abs(1-4)=3.
PROG
(Python)
from collections import Counter
def aupton(terms):
alst, inventory = [0], Counter([0])
for n in range(2, terms+1):
c = abs(alst[-1] - inventory[alst[-1]])
alst.append(c); inventory[c] += 1
return alst
print(aupton(85)) # Michael S. Branicky, Nov 10 2022
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
Clément Vovard, Nov 10 2022
STATUS
approved