|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
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
|
|
|
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))
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|