Начиная со строки ABC
, рассмотрим результат многократного добавления последней половины к себе (используя большую половину, если длина нечетна).
Получаем прогрессию:
ABC
ABCBC
ABCBCCBC
ABCBCCBCCCBC
ABCBCCBCCCBCBCCCBC
etc...
Позвольте S
представить результирующую бесконечную строку (или последовательность), которая получается, как эта процедура повторяется навсегда.
Цель
Цель этой задачи кода - найти индекс первого вхождения прогонов C
в S
.
Сначала это легко: C
сначала происходит в index 2
, CC
at 4
, CCC
at 7
, CCCC
at 26
, но CCCCC
полностью в index 27308
! После этого у меня кончается память.
Победителем будет представление, которое правильно генерирует наиболее запущенные индексы (по порядку, начиная с C
). Вы можете использовать любой алгоритм, но обязательно объясните его, если вы не используете базовую грубую силу. Вход и выход могут быть в любом удобном для понимания формате.
Важное примечание: я официально не знаю, S
содержит ли на самом деле все серии C
. Этот вопрос выводится из этого на Математическом обмене стека , в котором автор также не нашел CCCCCC
. Мне любопытно, если кто-нибудь здесь может. (Этот вопрос, в свою очередь, основан на моем первоначальном вопросе по теме .)
Если вы можете доказать, что не все заезды C
происходят, S
вы автоматически выиграете, так как этот вопрос больше не будет действительным. Если никто не может ни доказать это, ни найти, CCCCCC
то победителем будет тот, кто сможет получить наивысшую нижнюю границу индекса CCCCCC
(или какова будет самая большая нерешенная пробежка, если CCCCCC
найден).
Обновление: Humongous престижность isaacg и разрешения , которые нашли CCCCCC
на астрономической индекс 2.124 * 10 ^ 519. При таких темпах я не могу себе представить поиск CCCCCCC
с помощью любого метода, основанного на грубой силе. Хорошая работа, ребята!
CCCCC
по индексу 27308, но позже кажется, что вы не знаете, где это происходит впервые. Вы имели в видуCCCCCC
?