Напишите однострочную программу длиной два или более символов, которая не содержит разделителей строки и не требует ввода. Например, ваша программа может быть:
MyProgram
Когда ваша программа упорядочена по формам, которые стрелки часов принимают в 12, 3, 6 и 9 часов, необходимо вывести соответствующий номер часа. Не нужно поддерживать другие времена.
В частности:
Когда ваша программа устроена как стрелки часов в 12 часов (🕛)
m a r g o r P y M
запуск должен вывести
12
.Когда ваша программа устроена как стрелки часов в 3 часа (🕒)
m a r g o r P y MyProgram
запуск должен вывести
3
.Когда ваша программа устроена как стрелки часов в 6 часов (🕕)
m a r g o r P y M y P r o g r a m
запуск должен вывести
6
.Когда ваша программа устроена как стрелки часов в 9 часов (🕘)
........m ........a ........r ........g ........o ........r ........P ........y margorPyM
запуск должен вывести
9
.
Примечания
Первый символ в вашей программе всегда находится в центре часов. (Обратите внимание, что
M
в примере с 6 часами есть только один ).Любой не-символ новой строки может быть использован для отступа программы для 9-часового соглашения. В примерах
.
используется, но пробел или/
или#
будет таким же действительным.Для 3-часового соглашения ни один символ не должен находиться в пустой верхней правой области. (т.е. держите это пустым, не заполняйте это пробелами.)
При первоначальном расположении программы (
MyProgram
как есть) ничего делать не нужно. Только 12, 3, 6 и 9 часов должны иметь правильный, четко определенный вывод.Код, который работает только как функция или команда REPL, не допускается. Каждое из четырех устройств должно быть готово к запуску в виде полных программ, как есть.
Самая короткая программа в байтах побеждает. Например, MyProgram
имеет длину 9 байтов.
источник
3
и6
были бы неразличимы для Brainfuck, поскольку они отличаются только пробелами.Ответы:
GolfScript,
1110 байтИспользуется
#
как отступающий символ.12:00
Попробуйте онлайн!
Как это устроено.
6
помещается в стек,;
сбрасывает его.]
оборачивает стек в массив (не влияет на вывод).9
и3
помещаются в стек;
и;
отбрасывают их.Наконец,
1
и2
помещаются в стек, и неявно печатается без разделения.3 часа
Попробуйте онлайн!
Как это устроено
6
помещается в стек,;
сбрасывает его.]
оборачивает стек в массив (не влияет на вывод).9
и3
помещаются в стек;
и;
отбрасывают их.1
и21
помещаются в стек,;;
сбрасывает их.3
помещается в стек.#
комментарий начинается до конца строки.6:00
Попробуйте онлайн!
Как это устроено
6
помещается в стек,;
сбрасывает его.]
оборачивает стек в массив (не влияет на вывод).9
и3
помещаются в стек;
и;
отбрасывают их.1
,2
И1
помещаются в стек.;
и;
откажитесь от последнего1
и2
.3
и9
помещаются в стек.]
и;
обернуть стек в массив и выбросить его, очистив стек.6
помещается в стек.9:00
Попробуйте онлайн!
Как это устроено
Все строки, кроме последней, являются комментариями.
6
помещается в стек,;
сбрасывает его.]
оборачивает стек в массив (не влияет на вывод).9
помещается в стек.#
комментарий начинается до конца строки.источник
> <> , 20 байт
Там есть непечатные материалы, а именно:
X
как\x06\t
c
как\x03
Одна и та же часть исходного кода запускается каждый раз, используя
g
две части исходного кода, чтобы определить, что вычесть из 12.12 часов | 3 часа | 6 часов | 9 часов (выглядит смещенным из-за вкладки)
источник
ROOP , 54 байта
Используется
<
как отступающий символ.12 часов | 3 часа | 6 часов | 9:00
12:00
1
И2
что находятся вблизи верхнее падения в течение 3 циклов. Когда они достигаютW
оператора, оператор помещает число вO
, которое представляет выход.В
1
этой частивыпал на 2 цикла,
V
оператор перемещает его ниже и при следующем цикле активируетH
оператора, завершающего программу.3 часа
O
также объекты, которые движутся и падают. Поскольку в коде теперь есть строка с более чем одним символом, все остальные строки заполняются пробелами. ВсеO
перемещаются вправо и падают, в результате чегоW
операторам негде отправить1
и2
.Единственное,
O
что не двигается, это тот, который застрял в центре.3
Выше падает в течение 4 циклов кW
.Затем выпадающие числа заполняют 4 пробела между
W
и3
. Когда он заполнен, другой номер может пройти через все из них и добраться доH
оператора, который завершает программу.6:00
Очень похоже на 12,
6
падает наW
и1
кH
. Это происходит в 2 циклах, заканчивая программу до 12 случаев.9:00
(Я показываю один столбец,
<
потому что другие ничего не делают).В
V
подхватывает9
и перемещает его в следующей трубе, которая отклоняет объект влево. Труба<
перемещает объект вниз, а следующий вправо.V
Оператор поставил9
в пространстве ниже , а затем отправляется на выход.Он
1
делает равные движения и достигает тогоH
, что завершает программу. Поскольку трубы перемещают объекты в одном и том же цикле, все это занимает один цикл.источник