Задача:
Гуру однажды сказал, что селфи с идеальным кодом лучше всего снимать по диагонали из левого верхнего угла. Селф кода почти как Quine - но повернут на 45 градусов по часовой стрелке. Ваша миссия - написать программу, которая выводит селфи кода.
Правила:
- Вы можете использовать любой язык программирования.
- Ваши программы не должны принимать данные из файла, имени файла, сети или чего-либо еще.
Обязательные критерии:
Селфи - это мотив и фон, поэтому пробелы (и другой невидимый контент, такой как перевод строки и т. Д.) Не считаются частью числа символов. Все видимые символы ограничены для вывода в правильном положении на 45 градусов, в то время как все невидимые символы не ограничены в правильном положении на 45 градусов. Подобно цветовой палитре для обычного селфи, для селфи кода обязательно, чтобы оно содержало как минимум 16 из следующих символов: {a-zA-Z0-9}
Пример:
Если этот пример действительный исходный код:
Output abcd
Output efgh
Output ijkl
Output mnop
Пример кода должен вывести это:
O
O u
O u t
O u t p
u t p u
t p u t
p u t
u t a
t e b
i f c
m j g d
n k h
o l
p
Это код-гольф, выигрывает самый короткий исходный код в байтах!
Ответы:
Javascript ( ES6 ), 72 байта
16 уникальных буквенно-цифровых символов паллета:
fjalert0plcgmixn
m
иi
флаги добавляются в регулярное выражение для соответствия минимальным требованиям палитры.источник
CJam,
30 2825 байтЭто довольно долго из-за 16 символов из
A-Za-z0-9
лимита.Это немного нетривиальный вариант стандартной квин в CJam. Скоро добавлю объяснения.
ОБНОВЛЕНИЕ - 2 байта сохранены благодаря Мартину, 3 байта сохранены благодаря Деннису
Попробуйте онлайн здесь
источник
Ява, 312
На самом деле это 326 байтов, но если я правильно понимаю правила, мне не нужно считать 14 пробелов.
Программа в основном стандартная Java quine, плюс много пробелов.
источник
Python 3, 139 символов - 10 пробелов = 129 символов
Так как мой код был одной строкой, мне нужно было распечатать программу по диагонали. Моя строка имеет странное имя 'sjxd', поэтому мой код может содержать 16 уникальных буквенно-цифровых символов.
источник
CSS, 69 байт
Вставьте пустую HTML-страницу, чтобы избежать конфликта с другими тегами.
Палитра:
stylebfortanm45dgiplck
(22 символа)источник
MATLAB, 40 байт
Немного сложно с рекурсией - как вы печатаете свой собственный исходный код, когда добавление кода в строку для печати увеличивает размер самого исходного кода. Но, тем не менее, следующее сделает это:
123456;
Немного есть для удовлетворения требуемых 16 уникальных персонажей. Используются следующие:Приведенный выше код по какой-то причине не работает в Octave, но работает в MATLAB. Ниже вывод:
Теперь, если вы не возражаете против того,
ans=
что MATLAB любит помещать, следующее будет работать для 32 байтов :источник