Ребят помогите очень надо! Сколько различных строк можно получить из abbaabbaabba с помощью циклического сдвига на один или несколько символов влево?
Например, из строки abc можно получить три строки: bca, cab, abc

6 уникальных строк
["bbaaaabbaaaa", "baaaabbaaaab", "aaaabbaaaabb", "aaabbaaaabba", "aabbaaaabbaa", "abbaaaabbaaa"]

Программа на Ruby 22
s = "abbaaaabbaaa"
a = []
for i in 0..s.size
    s = s[1..-1] + s[0..0]
    a << s if not a.include?(s)
end
p a
p a.size

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку