<< На главную
Машина с неограниченными регистрами
Текст программы:
// обозначения: // нумерация ячеек 1, 2, 3 и т.д. // Z(n) - обнулить значение в ячейке с номером n // S(n) - увеличить значение ячейки n на 1 // T(m,n) - копировать значение из ячейки m в ячейку n // J(m,n,q) - если значения в ячейках m и n совпадают, // перейти к метке q // Для отладки: // если инструкция заканчивается символом D, // например, "Z(10) D", то при её выполнении // печатается текущее состояние машины // пример: программа целочисленного деления // значения в ячейке 1 на значение в ячейке 2 // конечный результат - в ячейке 3 Z(3) Z(4) Z(5) a: S(4) S(5) J(2,5,b) J(1,4,c) J(1,1,a) b: S(3) Z(5) J(1,1,a) c: Z(4) Z(5)
Ограничение на количество шагов (против зацикливания):
Входная последовательность (натуральные числа, разделенные пробелом):
Протокол работы:
Без подробностей