Давайте работать в обратном направлении для этого. Сначала мы превращаем цифры в их двоичные представления. Мы идем от VW626206555675126212043640270477001760465526277571600601
к VW++__+_++__+____++_+_++_++_+++_++++_+__+_+_++__+___+_+____+___++++_+______+_+++___+__++++++________++++++____+__++_+_++_+_+_++__+_+++++++_++++__+++_______++______+
. Затем мы продолжаем применять обратное к DCW:W+
и DW:W_
до тех пор, пока не очистим все символы. Наш результат сейчас VDCDCDDDCDDCDCDDDCDDDDDCDCDDCDDCDCDDCDCDDCDCDCDDCDCDCDCDDCDDDCDDCDDCDCDDDCDDDDCDDCDDDDDCDDDDCDCDCDCDDCDDDDDDDCDDCDCDCDDDDCDDDCDCDCDCDCDCDDDDDDDDDCDCDCDCDCDCDDDDDCDDDCDCDDCDDCDCDDCDDCDDCDCDDDCDDCDCDCDCDCDCDCDDCDCDCDCDDDCDCDCDDDDDDDDCDCDDDDDDDCW
. Теперь мы хотим, чтобы эта строка соответствовала VD+C+W
; то есть мы хотим переместить все D
буквы слева от всех C
строк. Это может быть сделано путем реверса DCC:CD
. Мы делаем это, повторяя следующий алгоритм:
- Найдите первое
D
справа от блока C
s.
- Переместите
D
налево от этого блока.
- Удвойте число
C
с.
Посредством некоторой математики мы можем определить, что в конечном итоге мы получим 123 D
с и 4638704741628490670592103344196019722536654143873 C
с (вы были правы насчет того, что это не подходит для ответа SE ... Я сомневаюсь, что это будет соответствовать, если хранится как состояния всех атомов на Земле в сочетании: P).
Если мы будем продолжать применять обратное V:VD
, мы можем избавиться от всех D
s сейчас, так что мы получаем VCCC.......CCCW
. Мы конвертируем V
обратно в YZ
. Теперь у нас есть YZCCC.......CCCW
.
Мы хотим иметь возможность избавиться от всех C
с и иметь его в форме YAAA...AAABBB...BBBZW
. К счастью, это можно сделать следующим способом. Во-первых, мы YB:Y
обращаемся 585812508217580921743211 раз, чтобы получить YBBB.......BBBZCCC.......CCCW
. Затем мы повторяем следующую последовательность шагов (где [?*]
означает любое количество ?
, не обязательно больше нуля):
CZ:ZC
Обратно -применить 587912508217580921743211 раз, чтобы получитьY[A*]BBB.......BBBCCC.......CCCZCCC.......CCCW
- Обратный - применить
CB:BC
много раз, чтобы получитьY[A*]BCBCBC.......BCBCBCZCCC.......CCCW
- Обратно-применить
AZ:Z
и AB:BCA
много раз, чтобы получитьY[A*]ABBB.......BBBZCCC.......CCCW
Посредством индукции мы видим, что мы можем переместить BZ
комбинацию до конца (кроме как до W
), и тогда число A
s равно 1/587912508217580921743211 от числа C
s, оставляя нам 7890127658096618386747843 A
с. Теперь у нас есть YAAA.......AAABBB.......BBBZW
. Преобразование ZW
обратно в a U
, затем обратное применение U:BU
много раз, чтобы оставить только 2 B
с, а затем преобразование в BBU
a T
, и теперь у вас есть YAAA.......AAAT
. Затем вы можете применить обратное обращение T:AAAAAT
много раз, чтобы получить, YAAAT
потому что число A
s было 3 больше, чем кратное 5.
Спасибо за вызов!