OFFSET
1,2
COMMENTS
A Lyndon word is primitive (not a power of another word) and is earlier in lexicographic order than any of its cyclic shifts.
LINKS
Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
F. Bassino, J. Clement and C. Nicaud, The standard factorization of Lyndon words: an average point of view, Discrete Math. 290 (2005), 1-25.
Émilie Charlier, Manon Philibert, Manon Stipulanti, Nyldon words, arXiv:1804.09735 [math.CO], 2018. See Table 1.
A. M. Uludag, A. Zeytin and M. Durmus, Binary Quadratic Forms as Dessins, 2012. - From N. J. A. Sloane, Dec 31 2012
Wikipedia, Lyndon word
Reinhard Zumkeller, Haskell programs for some sequences concerning Lyndon words
FORMULA
MATHEMATICA
lynQ[q_]:=Array[Union[{q, RotateRight[q, #]}]=={q, RotateRight[q, #]}&, Length[q]-1, 1, And];
Join@@Table[FromDigits/@Select[Tuples[{1, 2}, n], lynQ], {n, 5}] (* Gus Wiseman, Nov 14 2019 *)
PROG
(Haskell) cf. link.
(PARI) is_A102659(n)={ vecsort(d=digits(n))!=d&&for(i=1, #d-1, n>[1, 10^(#d-i)]*divrem(n, 10^i)&&return); fordiv(#d, L, L<#d && d==concat(Col(vector(#d/L, i, 1)~*vecextract(d, 2^L-1))~)&&return); !setminus(Set(d), [1, 2])} \\ The last check is the least expensive one, but not useful if we test only numbers with digits {1, 2}.
for(n=1, 6, p=vector(n, i, 10^(n-i))~; forvec(d=vector(n, i, [1, 2]), is_A102659(m=d*p)&&print1(m", "))) \\ One could use is_A102660 instead of is_A102659 here. - M. F. Hasler, Mar 08 2014
CROSSREFS
KEYWORD
nonn,easy,nice
AUTHOR
N. J. A. Sloane, Feb 03 2005
EXTENSIONS
More terms from Franklin T. Adams-Watters, Dec 14 2006
Definition improved by Reinhard Zumkeller, Mar 23 2012
STATUS
approved