Полукардинальная циклическая квина - это циклическая квина с двумя состояниями, одно перпендикулярно другому.
правила
Вы можете решить, какое вращение вы хотите осуществить, по часовой стрелке или против часовой стрелки.
После поворота все пробелы в вашем коде должны быть заменены пробелами для сохранения позиционирования.
Ваша программа должна соответствовать определению сообщества Quine .
Это код-гольф, поэтому выигрывает самая короткая программа на каждом языке. Ваша первая программа используется для подсчета байтов.
Стандартные лазейки запрещены.
Примеры
Если ваша программа:
$_='print';eval
Тогда следующая итерация должна быть либо:
$
_
=
'
p
r
i
n
t
'
;
e
v
a
l
или
l
a
v
e
;
'
t
n
i
r
p
'
=
_
$
который должен вывести оригинальную программу:
$_='print';eval
Если ваша программа:
;$_=';
;$_=';
print
Тогда следующая итерация должна быть либо:
;;
''t
==n
__i
$$r
;;p
или:
p;;
r$$
i__
n==
t''
;;
который должен вывести оригинальную программу:
;$_=';
;$_=';
print
источник
Ответы:
CJam ,
191715 байтПопробуйте онлайн! Попробуйте вращение.
объяснение
В повернутом коде у нас везде есть перевод строки:
Как заметила Линн в предыдущем вызове Dom для Quine, вставка перевода строки фактически все еще образует действительный quine, потому что перевод строки внутри блока все равно будет сохранен дословно, и в
"_~"
строке также будет перевод строки, чтобы эти два символа в конце отображались на их собственная линия Таким образом{s"_~"+...}_~
(с переводами строки) все еще является действующей структурой quine (хотя в конце строки будет дополнительный перевод строки).N*
теперь вставляет в эту строку еще больше перевода строки, но нам все равно: потому что теперь""-
внутри этой строки есть перевод строки, так что он фактически удаляет все переводы строки из представления программы. Таким образом, мы снова получаем горизонтальную форму кода, отменяя вращение.источник
Stax , 28 байт
Запустите и отладьте первую форму
Запустите и отладьте вторую форму
источник
> <> , 22 байта
Попробуйте онлайн!
Повернуто против часовой стрелки:
Попробуйте онлайн!
Первый печатает строку в обратном порядке с перемеженными знаками новой строки, а второй печатает ее в обратном порядке без перевода строки.
источник
05AB1E ,
3634 байтаПопробуйте первую итерацию или Попробуйте следующую итерацию
источник