Олимпиадный тренинг

Задача . 13492


Задача

Темы:
Незнайка сконструировал компьютер – умножитель. Компьютер имеет два регистра A и B по 24 двоичных разряда каждый и поддерживает следующую систему команд:

<N+ Осуществить сдвиг двоичной записи числа в регистре A на N бит влево (в освобождающиеся справа позиции записываются значения 0). Затем сложить значение, полученное в регистре A со значением, занесенным в регистр B и записать результат в регистр B. N – целое неотрицательное число. После завершения команды регистр A содержит результат сдвига. 
M{...} Выполнить M раз последовательность команд, заключенную в фигурные скобки. М не может превышать 10.
 
Написав программу для этого компьютера, можно выполнить операцию умножения целого положительного числа, помещаемого в регистр A на любое целое положительное число (если не возникнет переполнение одного из регистров в процессе вычислений). Результат по завершении программы будет находиться в регистре B. Легко заметить, что выполнив, например, программу 2{<0+<1+}<2+ можно получить в регистре B результат умножения числа, помещаемого в регистр A на 2510. Также отметим, что такого же результата можно добиться, выполнив программу и с меньшим количеством символов, например <0+<3+<1+.
 
Известно, что в регистр A поместили число, не превосходящее 256010. Составьте и напишите в ответе программу, содержащую минимально возможное количество символов, которая позволит вычислить результат умножения числа, помещенного в регистр A на 655310. Перед началом выполнения программы значение регистра B равно нулю.

time 1000 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя