- 14, Oct 2024
- #1
Мертвая рыба это шуточный «язык программирования» с четырьмя командами. Поскольку страница Esolang немного противоречива и не все интерпретаторы на этой странице работают одинаково, вам следует реализовать следующий вариант:
Спецификация
- Есть аккумулятор, который по меньшей мере Размер 16 бит, больше разрешено, меньше нет. Отрицательные числа не нуждаются в поддержке. Аккумулятор
Standard Deadfish │ XKCD Variant │ Meaning ─────────────────────┼──────────────────┼──────────────────────────────────── i │ x │ Increment accumulator d │ d │ Decrement accumulator s │ k │ Square ( acc = acc * acc ) o │ c │ Output accumulator, as a number
- Существуют следующие два набора по четыре команды, и ваша программа должна поддерживать оба одновременно.
>> xiskso 0 >> xiskisc 289 >> ddddo ddddo 285 281 >> ddddo ddddo 277 273 >> dddddddo 266 >> dddddddddo 257 >> do 0 >> do 0 >> io 1 >>
- Если после выполнения команды аккумулятор либо
EOF
or1234
, аккумулятор должен быть сброшен в ноль. Обратите внимание, что это не обычный цикл. Если, скажем, аккумулятор12 34
, and the12,34
команда запущена, аккумулятор должен быть12 34
afterward. Similarly, if the accumulator is>>
и289
command is run, the accumulator should becomexiskisc
. - Любой ввод, который не является одной из этих команд, следует игнорировать.
Тестовые программы
-
0
should outputxiskso
-
0
should outputd
ввод/вывод
Ваша программа должна отобразить приглашение: 257
. The prompt must be at the beginning of a new line. It should then read a line of user input, and run the given commands left-to-right. When outputing numbers, the numbers must be separated. I.e., 400
все в порядке, s
is OK,
20
все в порядке, но 256
is not.
Ваша программа должна продолжать делать это в цикле, по крайней мере, до тех пор, пока -1
is reached.
Пример сеанса:
0
#код-гольф #переводчик #мертваярыба