login
Non-primitive words on {1,2,3}.
6

%I #8 Nov 22 2021 08:41:27

%S 11,22,33,111,222,333,1111,1212,1313,2121,2222,2323,3131,3232,3333,

%T 11111,22222,33333,111111,112112,113113,121121,121212,122122,123123,

%U 131131,131313,132132,133133,211211,212121,212212,213213,221221,222222,223223,231231,232232,232323,233233,311311,312312,313131,313313

%N Non-primitive words on {1,2,3}.

%C A word is non-primitive if it is a nontrivial power (i.e., repetition) of a subword. Therefore, for a prime number of digits, only the repdigit numbers are primitive. For words with 6 letters, there is also 112^2,113^2,121^2,12^3,... where w^n means n concatenations of w.

%C Lyndon words on {1,2,3}, A102660, are the terms in A007932 which are primitive (i.e., in the complement A239017 of this sequence) and not larger than any of their rotation, i.e., in A239016.

%C This is the complement of A239017 in A007932.

%C This is for {1,2,3} what A213972 is for {1,2} (and A213973 for {1,3}, A213974 for {2,3}).

%H Michael S. Branicky, <a href="/A239018/b239018.txt">Table of n, a(n) for n = 1..10239</a> (all terms with <= 16 digits)

%o (PARI) for(n=1,7,p=vector(n,i,10^(n-i))~;forvec(d=vector(n,i,[1,3]),is_A239017(m=d*p)||print1(m",")))

%o (Python)

%o from sympy import divisors

%o from itertools import product

%o def agentod(maxd):

%o for d in range(2, maxd+1):

%o divs, alld = divisors(d)[:-1], set()

%o for div in divs:

%o for t in product("123", repeat=div):

%o alld.add(int("".join(t*(d//div))))

%o yield from sorted(alld)

%o print([an for an in agentod(6)]) # _Michael S. Branicky_, Nov 22 2021

%Y Cf. A102659, A213969 - A213974.

%Y Cf. A007932, A239017.

%K nonn

%O 1,1

%A _M. F. Hasler_, Mar 08 2014