• Предмет: Информатика
  • Автор: sibirskiy17ynikum
  • Вопрос задан 1 год назад

Python
Дата строка цифр. Найти закономерность(ключ), как она образована. Не обязательно полное повторение в закономерности
Ключ должен быть кратчайшим из всех возможных ключей, которые могут быть использованы для кодирования сообщений, т. е. когда возможные ключи 12 , 1212, 121212, программа должна вернуть 12.
Пример:
12121212121 - вернет 12
19391 - вернет 1939
19391939193 - вернет 1939

Ответы

Ответ дал: SmEgDm
0

s = input()

k = ''; i = 0

while True:

   k += s[i]

   if len(s)%len(k) == 0:

       l = k*(len(s)//len(k))

   else:

       l = k*(len(s)//len(k)) + s[-(len(s)%len(k)): -1]

   if l == s:

       break

   else:

       i += 1

print(k)


eliza123: в строке l = k*(len(s)//len(k)) + s[-(len(s)%len(k)): -1] вместо 2 слагаемого нужно написать k[:(len(s) % len(k))]
eliza123: Иначе не пройдет тест строка "12332" например
Вас заинтересует