Подобно другим головоломкам Куайна (точнее, этой ), напишите программу, которая сама создает исходный код.
Вот новый поворот: полученный код НЕ должен быть идентичен исходному. Скорее, он должен вывести другую программу, которая создаст первую.
Задача, связанная с вышеупомянутым, достигла этого путем перехода между двумя языками. Я думаю, что это будет сделано только на одном языке , но две (или более) версии источника должны значительно отличаться (см. Правила ниже). При таком ограничении односимвольные ответы будут запрещены, что потребует немного больше обдумывания для окончательного представления.
ПРАВИЛА
- Ваш код должен быть написан только на одном языке. (Несколько заявок, по одной для каждого языка вполне приемлемо.)
- Ваши разные версии кода должны быть синтаксически различны. Другими словами, если вы хотите нарисовать абстрактное синтаксическое дерево для вашего кода, должен быть хотя бы один другой узел.
- Поставляя в AST не будет необходимости, но если вы чувствуете , склонны предоставлять по одному для каждой из ваших программ, он бы помочь в оценке.
- Вы можете создавать столько итераций, сколько пожелаете, если они все остаются синтаксически различными. (Подробнее поможет ваш счет, см. Ниже.)
SCORING
Ваша итоговая оценка будет означать среднюю продолжительность всех ваших программ, поделенную на количество программ.
Пример 1:
A (источник для B) = 50 символов
B (источник для A) = 75 символов
Окончательная оценка = 31,25
Пример 2:
A (источник для B) = 50 символов
B (источник для C) = 75 символов
C (источник для A) = 100 символов
Окончательная оценка = 25