Ante el rumor de que Codegolf tendrá un torneo Rock-Paper-Scissors , investigará el tema de las palabras sin cuadrados . Una palabra hecha de las cartas R, P, Ses cuadrada libre si no contiene una secuencia que se repite dos veces. Es decir, la palabra no se puede escribir como
a x x b
donde ay bson palabras de cualquier longitud y xes una palabra de longitud al menos uno, todos hechos de las letras R, P, S.
Tarea
Escribir un programa que genera los libre de cuadrados palabras de las letras R, P, Sde la longitud ndonde el número 1 <= n <= 10se toma como entrada.
Ejemplo
Por ejemplo, las palabras sin cuadrados de longitud 3 son
RPR, RSR, RPS, RSP, SPS, SRS, SRP, SPR, PRP, PSP, PSR,PRS
y los de longitud 4 son
RPRS, RPSR, RPSP, RSRP, RSPR, RSPS, PRPS, PRSR, PRSP, PSRP, PSRS, PSPR, SRPR, SRPS, SRSP, SPRP, SPRS,SPSR
y tenga en cuenta que, por ejemplo, SPSPo PRPRno están libres de cuadrados
Reglas
- Esto es codegolf, el programa más corto gana, las lagunas estándar están cerradas.
- Puede imprimir las palabras o crearlas en la memoria.
- Su programa puede escribirse como una función.
Referencias
Entrada de Wikipedia sobre palabras sin cuadrados
El número de palabras ternarias sin cuadrados de longitud dada se encuentra en https://oeis.org/A006156
Relacionado: palabras arbitrarias ternarias cuadradas libres
n>3sería una buena idea, porque ha habido cierta confusión sobre los caracteres repetidos frente a las secuencias repetidas.