Это вызов копов и грабителей. Это нить грабителя. В нитка полицейского здесь .
Полицейские выберут любую последовательность из OEIS и напишут программу p, которая напечатает первое целое число из этой последовательности. Они также найдут некоторую строку s . Если вы вставляете s где-то в p , эта программа должна вывести второе целое число из последовательности. Если вы вставите s + s в то же место в p , эта программа должна вывести третье целое число из последовательности. s + s + s в том же месте напечатает четвертый, и так далее, и так далее. Вот пример:
Python 3, последовательность A000027
print(1)
Скрытая строка составляет два байта .
Строка +1
, потому что программа print(1+1)
напечатает второе целое число в A000027, программа print(1+1+1)
напечатает третье целое число и т. Д.
Копы должны раскрыть последовательность, исходную программу p и длину скрытой строки s . Грабители взломают представление, найдя любую строку до этой длины и место, чтобы вставить ее, чтобы создать последовательность. Строка не должна соответствовать предполагаемому решению, чтобы быть действительной трещиной, а также местоположением, в которое она вставлена.
Если вы взломаете один из ответов полицейских, опубликуйте свое решение (с указанием скрытой строки и местоположения) и ссылку на ответ. Затем прокомментируйте ответ полицейских со ссылкой на ваш взлом здесь.
правила
Ваше решение должно работать для любого числа в последовательности или, по крайней мере, до разумного предела, когда оно завершится неудачей из-за ограничений памяти, переполнения целого числа / стека и т. Д.
Победивший грабитель - это пользователь, который взламывает большинство представлений, причем тай-брейк первым достигает этого количества взломов.
Победивший коп - это коп с самой короткой строкой s, который не взломан. Tiebreaker - самый короткий р . Если нет непроверенных представлений, полицейский, у которого было решение, не взломанное для самых длинных побед.
Для того чтобы ваше решение было объявлено безопасным, ваше решение должно оставаться открытым в течение 1 недели, а затем раскрываться скрытая строка (и место для ее вставки).
s не может быть вложенным, оно должно соединяться сквозным образом. Например, если бы s было
10
, каждая итерация шла бы,10, 1010, 101010, 10101010...
а не10, 1100, 111000, 11110000...
Все криптографические решения (например, проверка хеша подстроки) запрещены.
Если s содержит символы не ASCII, вы также должны указать используемую кодировку.
%
левые партнеры.