Вы должны написать последовательность из 10 программ, p1 p2 ... p10
которые удовлетворяют следующим свойствам:
pK
печатаетpK+1
наK
от 1 до 9p10
печатьp10
- Когда первые
K
программы объединяются, результирующая программаp1...pK
печатаетсяp1...pK
. - Каждая программа
pK
должна быть больше в байтах, чем предыдущая программаpK-1
. - Все программы должны быть на одном языке.
- Разрешены встроенные функции цитирования (например,
Q
во многих языках).
Ваша оценка - это сумма байтов в 10 программах. Поскольку существует всего десять программ, вы должны сделать свои коды максимально короткими. Удачи.
code-golf
sequence
quine
code-generation
Конор О'Брайен
источник
источник
Ответы:
Серьезно, 245 байтов:
Все десять программ объединены:
Есть невидимые символы, которые становятся видимыми при выполнении, странное свойство байта 7F. Заменяющие строки в каждой программе важны. На самом деле, Seriously автоматически добавляет новые строки в свой вывод, хотите вы этого или нет. Это просто подсчитывает количество новых строк в выводе, и как только это число превышает 8, оно удаляет последний символ вывода. Таким образом,
p1..pK
будет печататьp1..pK
для всех K> 4.источник
Q
которая выдвигает исходный код программы.JavaScript (ES6), 985
Я неправильно понял правила ранее, поэтому мой предыдущий ответ был неверным.
В этом используется подъем функций вместо подъема переменных, поэтому он не зависит от программы 10. На самом деле, я думаю, что это квинта для любой комбинации двух или более сцепленных программ.
Отказ от ответственности: сейчас действительно поздно, поэтому все вышеперечисленное может быть совершенно неверным.
источник
alert
из-за функции вывода.Javascript ES6, 1935 байт
Десять программ:
источник
(\S)+
и подстановку,$0$1
чтобы сохранить несколько байтов?𝔼𝕊𝕄𝕚𝕟 2, 214 символов / 334 байта
Try it here (Firefox only).
объяснение
Программа рассчитывает поиск 9 пробелов подряд, что является количеством ведущих пробелов в 10-й программе. Если он находит совпадение, то выводится исходный код; в противном случае выводится исходный код, ведущий пробелом.
источник