Posts Tagged ‘quine’

Квайн (quine) произвольного порядка на языке Brainfuck

Когда-то решал занятное упражнение для любителей сломать мозг: как написать квайн n-го порядка на чудесном языке Brainfuck. Результат этих упражнений я и публикую в своем унылом бложике. Кто хочет сам порешать, можете дальше пока не читать, а то будет не интересно.

Основные понятия

Brainfuck
Эзотерический язык программирования, отличающийся крайней простотой. Программы, написанные на этом языке, оперируют с некоей лентой посредством считывающе-записывающей головки. Всего в языке восемь операторов (для записи/чтения символа, смещения головки, инкремента/декремента значения в ячейке и двух оператора для организации циклов). Как видно, эта конструкция очень напоминает реализацию машины Тьюринга. За подробностями можно невозбранно обращаться в википедию или другие интернеты.
Квайн (quine)
Непустая программа, выдающая на выходе свой исходный текст. При этом запрещены всякие трюки вроде чтения текста программы из файла и тому подобное.
Квайн n-го порядка
Программа, которая выводит код другой программы, которая вывовит код третьей программы, ... , которая выводит код n-й программы, которая выводит код первой программы. Определение придумал я сам, поэтому ссылки на википедию нету.

Читаем дальше