День 8 знаменитого Пришествия кода — я слышал, вам нравятся регистры
Это было проще, чем День 7, просто немного веселья с регулярными выражениями и переключением/регистром. Ничего особенного

Предыдущие части:
День 1
День 2
День 3
День 4
День 5
День 6 »
День 7

Проблема первая:

Вы получаете сигнал непосредственно от процессора. Из-за вашей недавней помощи с инструкциями перехода хотелось бы, чтобы вы вычислили результат серии необычных инструкций регистра.

Каждая инструкция состоит из нескольких частей: регистр, который нужно изменить, увеличить или уменьшить значение этого регистра, величину, на которую его нужно увеличить или уменьшить, и условие. Если условие не выполняется, пропустить инструкцию без изменения регистра. Все регистры начинаются с 0. Инструкция выглядит так:

b inc 5 if a > 1
a inc 1 if b < 5
c dec -10 if a >= 1
c inc -20 if c == 10

Эти инструкции будут обрабатываться следующим образом:

Поскольку a начинается с 0, оно не больше 1, поэтому b не изменяется.

a увеличивается на 1 (до 1), потому что b меньше 5 (это 0).

c уменьшается на -10 (до 10), потому что a теперь больше или равно 1 (это 1).

c увеличивается на -20 (до -10), потому что c равно 10.

После этого процесса наибольшее значение в любом регистре равно 1.

Вы также можете встретить <= (меньше или равно) или != (не равно). Однако центральный процессор не имеет пропускной способности, чтобы сообщить вам, как называются все регистры, и оставляет это на ваше усмотрение.

Какое наибольшее значение в любом регистре после выполнения инструкций во вводе головоломки?

Проблема вторая:

Чтобы быть в безопасности, ЦП также должен знать наибольшее значение, хранящееся в любом регистре во время этого процесса, чтобы он мог решить, сколько памяти выделить для этих операций. Например, в приведенных выше инструкциях самым высоким значением, когда-либо хранившимся, было 10 (в регистре c после выполнения третьей инструкции).

Решение:

Примечания:

Никто

SR.