Sur la rumeur que Codegolf aura un tournoi Rock-Paper-Scissors, vous vous penchez sur le sujet des mots sans carré . Un mot en lettres R, P, Sest sans carré si elle ne contient pas de séquence qui se répète deux fois. Autrement dit, le mot ne peut pas être écrit comme
a x x b
où aet bsont des mots de toute longueur et xest un mot d' une longueur d' au moins un, tout en les lettres R, P, S.
Tâche
Ecrire un programme qui génère les sans carrés mots des lettres R, P, Sde la longueur noù le nombre 1 <= n <= 10est pris comme entrée.
Exemple
Par exemple, les mots sans carré de longueur 3 sont
RPR, RSR, RPS, RSP, SPS, SRS, SRP, SPR, PRP, PSP, PSR,PRS
et ceux de longueur 4 sont
RPRS, RPSR, RPSP, RSRP, RSPR, RSPS, PRPS, PRSR, PRSP, PSRP, PSRS, PSPR, SRPR, SRPS, SRSP, SPRP, SPRS,SPSR
et notez que par exemple SPSPou PRPRne sont pas sans carré
Règles
- C'est le codegolf, le programme le plus court gagne, les failles standard sont fermées.
- Vous pouvez imprimer les mots ou les créer en mémoire.
- Votre programme peut être écrit en fonction.
Les références
Entrée Wikipedia sur les mots sans carré
Le nombre de mots ternaires sans carré de longueur donnée est en https://oeis.org/A006156
En relation: Mots ternaires sans carré de longueur arbitraire
n>3serait une bonne idée, car il y a eu une certaine confusion entre les caractères répétés et les séquences répétées.