login
A091787
a(1) = 2. To get a(n+1), write the string a(1)a(2)...a(n) as xy^k for words x and y (where y has positive length) and k is maximized, i.e., k = the maximal number of repeating blocks at the end of the sequence so far. Then a(n+1) = max(k,2).
24
2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 4, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 4, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 2, 2
OFFSET
1,1
COMMENTS
Here xy^k means the concatenation of the words x and k copies of y.
a(77709404388415370160829246932345692180) = 5 is the first time 5 appears.
This is also the concatenation of the glue strings of A090822, whose respective lengths are given in A091579. - M. F. Hasler, Oct 04 2018
This sequence is called the level-2 Gijswijt sequence.
REFERENCES
N. J. A. Sloane, Seven Staggering Sequences, in Homage to a Pied Puzzler, E. Pegg Jr., A. H. Schoen and T. Rodgers (editors), A. K. Peters, Wellesley, MA, 2009, pp. 93-110.
LINKS
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.
B. Chaffin, J. P. Linderman, N. J. A. Sloane and Allan Wilks, On Curling Numbers of Integer Sequences, arXiv:1212.6102 [math.CO], Dec 25 2012.
B. Chaffin, J. P. Linderman, N. J. A. Sloane and Allan Wilks, On Curling Numbers of Integer Sequences, Journal of Integer Sequences, Vol. 16 (2013), Article 13.4.3.
N. J. A. Sloane, Seven Staggering Sequences.
Levi van de Pol, The first occurrence of a number in Gijswijt's sequence, arXiv:2209.04657 [math.CO], 2022.
EXAMPLE
To get a(2): a(1) = 2 = (2)^1, so k = 1, a(2) = 2.
To get a(3): a(1)a(2) = 22 = (2)^2, so a(3) = k = 2.
To get a(4): a(1)a(2)a(3) = 222 = (2)^3, so a(3) = k = 3.
PROG
(PARI) A091787(n, A=[])={while(#A<n, my(k=2, L=0, m=k); while((k+1)*(L+1)<=#A, for(N=L+1, #A/(m+1), A[-m*N..-1]==A[-(m+1)*N..-N-1]&&(m+=1)&&break); m>k||break; k=m); A=concat(A, k)); A} \\ M. F. Hasler, Oct 04 2018
(Python)
from itertools import islice
def c(w):
for k in range(len(w), 0, -1):
for l in range(1, len(w)//k + 1):
if w[-k*l:] == w[-l:]*k: return k
def agen(): # generator of terms
alst, an = [], 2
while True: yield an; alst.append(an); an = max(2, c(alst))
print(list(islice(agen(), 99))) # Michael S. Branicky, Sep 10 2022
CROSSREFS
KEYWORD
nonn
AUTHOR
N. J. A. Sloane, Mar 07 2004
STATUS
approved