OFFSET
1,2
COMMENTS
The suffix blocks are what is called "glue string" in the paper by Gijswijt et al (2007). Roughly speaking, these are the terms >= 2 appended before the sequence (A090822) goes on with a(n+1) = 1 followed by all other initial terms a(2..n), cf. Example. The concatenation of these glue strings yields A091787. - M. F. Hasler, Aug 08 2018
LINKS
Dion Gijswijt, Table of n, a(n) for n = 1..2000
F. J. van de Bult, D. C. Gijswijt, J. P. Linderman, N. J. A. Sloane and Allan Wilks, A Slow-Growing Sequence Defined by an Unusual Recurrence, J. Integer Sequences, Vol. 10 (2007), #07.1.2.
Levi van de Pol, The first occurrence of a number in Gijswijt's sequence, arXiv:2209.04657 [math.CO], 2022.
EXAMPLE
From M. F. Hasler, Aug 09 2018:
In sequence A090822, after the initial (1, 1) follows the first suffix block or glue string (2) of length a(1) = 1. This is followed by A090822(4) = 1 which indicates that the suffix block has ended, and the whole sequence A090822(1..3) up to and including this suffix block is repeated: A090822(4..6) = A090822(1..3).
PROG
(Python)
# compute curling number of L
def curl(L):
n = len(L)
m = 1 #max nr. of repetitions at the end
k = 1 #length of repeating block
while(k*(m+1) <= n):
good = True
i = 1
while(i <= k and good):
for t in range(1, m+1):
if L[-i-t*k] != L[-i]:
good = False
i = i+1
if good:
m = m+1
else:
k = k+1
return m
# compute lengths of first n glue strings
def A091579_list(n):
Promote = [1] #Keep track of promoted elements
L = [2]
while len(Promote) <= n:
c = curl(L)
if c < 2:
Promote = Promote+[len(L)+1]
c = 2
L = L+[c]
return [Promote[i+1]-Promote[i] for i in range(n)]
# Dion Gijswijt, Oct 08 2015
CROSSREFS
KEYWORD
nonn
AUTHOR
N. J. A. Sloane, Mar 05 2004
STATUS
approved