После слухов, что у Codegolf будет турнир Rock-Paper-Scissors, вы заглядываете в тему слов без квадратов . Слово из букв R, P, Sявляется бесквадратным , если она не содержит последовательность , которая повторяется дважды. То есть слово нельзя записать как
a x x b
где aи bслово любой длины и xслово длины по крайней мере один, все из букв R, P, S.
задача
Написать программу , которая генерирует бесквадратные слова из букв R, P, Sдлины , nгде число 1 <= n <= 10берется в качестве входных данных.
пример
Например, слова без квадратов длиной 3
RPR, RSR, RPS, RSP, SPS, SRS, SRP, SPR, PRP, PSP, PSR,PRS
и те из длины 4
RPRS, RPSR, RPSP, RSRP, RSPR, RSPS, PRPS, PRSR, PRSP, PSRP, PSRS, PSPR, SRPR, SRPS, SRSP, SPRP, SPRS,SPSR
и обратите внимание, что, например, SPSPили PRPRне квадратные
правила
- Это Codegolf, самая короткая программа выигрывает, стандартные лазейки закрыты.
- Вы можете напечатать слова или создать их в памяти.
- Ваша программа может быть написана как функция.
Ссылки
Википедия на слова без квадратов
Количество трехзначных слов данной длины без квадратов приведено в https://oeis.org/A006156.
n>3бы неплохо использовать тестовый сценарий, поскольку возникла путаница относительно повторяющихся символов и повторяющихся последовательностей.