Для первого вопроса вы можете установить поля B и C равными 2A, просто сохраняя A + A в каждом:
ADD 2, 1, 1
ADD 3, 1, 1
Теперь просто вычтите A из каждого поля:
SUB 2, 2, 1
SUB 3, 3, 1
В результате A хранится везде.Результирующая программа, таким образом, имеет вид
ADD 2, 1, 1 // Box 1 = A Box 2 = 2A Box 3 = C
ADD 3, 1, 1 // Box 1 = A Box 2 = 2A Box 3 = 2A
SUB 2, 2, 1 // Box 1 = A Box 2 = A Box 3 = 2A
SUB 3, 3, 1 // Box 1 = A Box 2 = A Box 3 = A
. Во втором вопросе один милый трюк состоит в том, чтобы разделить какой-либо блок на его собственное значение и вставить в него 1.Например:
DIV 1, 1, 1
Теперь давайте поместим 2 в блок 2, удвоив содержимое блока 1 и сохранив его там:
ADD 2, 1, 1
Теперь давайте поместим 4 в блок 3:Удвоить содержимое блока 2 и сохранить его там:
ADD 3, 2, 2
Затем добавьте 2 к блоку 3, добавив содержимое блока 3. Это заставит блок 3 удерживать 6:
ADD 3, 3, 2
Наконец, добавьте 1 к третьему блоку, добавив в него содержимое блока 3. Это означает, что в блоке 3 содержится 7:
ADD 3, 3, 1
Таким образом, общая программа составляет
DIV 1, 1, 1 // Box 1 = 1 Box 2 = ? Box 3 = ?
ADD 2, 1, 1 // Box 1 = 1 Box 2 = 2 Box 3 = ?
ADD 3, 2, 2 // Box 1 = 1 Box 2 = 2 Box 3 = 4
ADD 3, 3, 2 // Box 1 = 1 Box 2 = 2 Box 3 = 6
ADD 3, 3, 1 // Box 1 = 1 Box 2 = 2 Box 3 = 7
Надеюсь, что этопомогает!