Изменения

Перейти к: навигация, поиск

Квайны

39 байт добавлено, 20:05, 6 января 2015
Мульти-квайны
}}
Заметим, что требование, чтобы программы были на разных языках программирования важно, т.к. иначе все программы смогут иметь один и тот же код.
===Связанные определения===
{{Определение
|definition='''Интроном''' (англ. ''intron'')<ref name=intronName/> называется часть сегмента данных, которая не используется для вывода кода, но сохраняющаяся в процессе саморепликации квайна.
}}
===Принцип написания===
{{
Теорема
Рассмотрим программу с двумя параметрами на языке <tex>L_1</tex>, которая выводит первый параметр при обычном запуске и второй - при запуске со спец. аргументом. По [[Теорема о рекурсии|теореме о рекурсии]] мы можем зафиксировать первый параметр и сказать, что он будет равен исходному коду нашей программы. Таким образом, мы получим программу с одним параметром, которая выводит свой код при запуске без аргументов и выводит параметр при запуске со спец. аргументом. Проделаем то же самое для программы на языке <tex>L_2</tex>. И наконец, зафиксируем как параметр первой исходный код второй и наоборот.
}}
 
===Связанные определения===
{{Определение
|definition='''Интроном''' (англ. ''intron'')<ref name=intronName/> называется часть сегмента данных, которая не используется для вывода кода, но сохраняющаяся в процессе саморепликации квайна.
}}
'''print'''(getSrc())
</font></code>
* применим [[Теорема о рекурсии|теорему о рекурсии ]] и заменим параметр на исходный код программы:
<table>
<tr>
</font></code>
* применим [[Теорема о рекурсии|теорему о рекурсии ]] и заменим оба параметра на исходный код программы
<code><font size = "2em">
<tex>P_3(arg)</tex>:
Анонимный участник

Навигация