Напишите правильную квинну , каждое вращение которой само по себе является правильной квинной.
Например, если ваш исходный код abcdef
, то:
abcdef
будет выводитьabcdef
bcdefa
будет выводитьbcdefa
cdefab
будет выводитьcdefab
defabc
будет выводитьdefabc
efabcd
будет выводитьefabcd
fabcde
будет выводитьfabcde
Вращение «производится путем разделения строки на две части и изменения их порядка» .
счет
Это код-гольф . Кратчайший ответ в байтах побеждает. Применяются стандартные лазейки .
aaabbb
и я мог бы сказать, что следующий поворот - этоbbbaaa
? Или следующий поворот должен бытьbaaabb
?baaabb
.Ответы:
Motorola MC14500B Машинный код , 1 байт
1-байтовая оценка получается из двух 4-битных инструкций:
объяснение
Контакты процессора пронумерованы:
В терминах непрофессионала, контакты с 4 по 7, используются, чтобы представить регистру команд команду, но биты интерпретируются в обратном порядке. Например, инструкция
0001
будет иметь контакт № 7 в верхнем состоянии и контакты 6–4 в нижнем состоянии.Или, просто, контакты 9 через 12 являются выходными флагами
FLGF
,FLGO
,RTN
иJMP
, соответственно. Обратите внимание, что данные обычно мультиплексируются наWRITE
вывод (вывод № 2). Выводы флажка вывода аналогичны кодам выхода других языков.Повороты
Начальная позиция
Тактовые часы:
NOPO
Инструкция помещает контактный # 10 (FLGO
) в высоком состоянии. До следующего тактового периода выходные флажки выводятся в нижнее состояние.LDC
инструкции загружает комплемент значения шины данных в регистр результата, не влияя на контакты выходного флага.Таким образом, в течение двух тактов программы были представлены выводы выходного флага
0100 0000
, которые считываются в обратном порядке (например, входные выводы)0000 0010
, или исходные инструкции.Первое вращение
Тактовые часы:
В течение этих двух тактов были представлены выходные флажки
0000 0100
, которые при обращении являются инструкциями0010 0000
.источник