Програма A :
"iQ ²¯24
G²õ@i'#+Xd"iQ ²¯24
G²õ@i'#+Xd
Програма B довжиною понад 8 кБ, настільки довга, що посилання розривається, тому я не буду вставляти все. Ось зразок:
#þ"iQ ²¯24
G²õ@i'#+Xd"iQ ²,#ÿ"iQ ²¯24
G²õ@i'#+Xd"iQ ²,#Ā"iQ ²¯24
G²õ@i'#+Xd"iQ ²
Я не зміг знайти NULбайт для роботи, тому програма B містить лише 255 унікальних символів. Програма B по суті складається з 255 копій однієї програми, де кожен невідповідний байт змінюється щоразу, а перші 254 виконання ігноруються.
Для пояснення я розпочну з цієї спрощеної версії A, щоб результат B був легшим для обговорення.
"iQ ²¯23
3õ@i'#+Xd"iQ ²¯23
3õ@i'#+Xd
Ця програма заснована на базовій Japt quine, здатній до корисної навантаження . Рядок на початку містить дублікат решти програми, iQ ²вставляє цитату та дублікати для створення рядкового представлення всієї програми, а потім ¯23обрізає себе та все після неї. Отриманий рядок - це програма, яка виводить програму A :
"iQ ²¯23
3õ@i'#+Xd"iQ ²
Я буду називати цей рядок як U.
Останній рядок A дублює Uкупу разів із невеликою зміною щоразу. Зокрема, для кожного числа Xв діапазоні [1...3]він виводить, "#c" + Uде cє символ з charcode X. Поведінка Japt за замовчуванням полягає у виведенні цих рядків без лапок і розділених комами, тому це вихід нашого спрощеного A (зауважте, що між кожним #та наступним байтом є недрукований байт "iQ:
#"iQ ²¯23
3õ@i'#+Xd"iQ ²,#"iQ ²¯23
3õ@i'#+Xd"iQ ²,#"iQ ²¯23
3õ@i'#+Xd"iQ ²
Ми будемо називати цей УСНО B .
Спрощений B має просту структуру, чергується між #cі U. На щастя для цієї відповіді, кожен #cі Uтрактується як розділений комою, і в цій ситуації поведінка цього є всім, крім самого останнього U, не впливає на вихід. Єдина частина спрощеного B, яка впливає на вихід, така:
"iQ ²¯23
3õ@i'#+Xd"iQ ²
Що ідентично тому, Uщо ми вже знаємо результати спрощеного А.
Єдина відмінність між спрощеним A і програмою A полягає в тому, що замість створення копій для діапазону [1...3]реальна програма створює копії для діапазону [1...256]. Це призводить до 256 версій, #cкожна з яких має різний характер, хоча остання версія "Ā" є багатобайтовим символом, тому вона не додає жодних унікальних байтів, але все, крім останнього U, все ще ігнорується.