Program A :
"iQ ²¯24
G²õ@i'#+Xd"iQ ²¯24
G²õ@i'#+Xd
Program B ma ponad 8kB długości, tak długo, że link się łamie, więc nie wkleję całego. Oto próbka:
#þ"iQ ²¯24
G²õ@i'#+Xd"iQ ²,#ÿ"iQ ²¯24
G²õ@i'#+Xd"iQ ²,#Ā"iQ ²¯24
G²õ@i'#+Xd"iQ ²
Nie mogłem znaleźć sposobu na uruchomienie NULbajtu, dlatego program B ma tylko 255 unikalnych znaków. Program B zasadniczo składa się z 255 kopii jednego programu, w którym za każdym razem zmienia się jeden nieistotny bajt, a pierwsze 254 wykonania są ignorowane.
Dla wyjaśnienia zacznę od tej uproszczonej wersji A, aby łatwiej było omówić wynikowy B.
"iQ ²¯23
3õ@i'#+Xd"iQ ²¯23
3õ@i'#+Xd
Program ten oparty jest na podstawowej, przystosowanej do obciążenia Jine quine . Ciąg na początku zawiera duplikat reszty programu, iQ ²wstawia cytat i duplikuje się, aby utworzyć ciąg reprezentujący cały program, a następnie ¯23przycina siebie i wszystko po nim. Powstały ciąg jest programem, który wysyła program A :
"iQ ²¯23
3õ@i'#+Xd"iQ ²
Odniosę się do tego ciągu jako U.
Ostatnia linia A powiela Ukilka razy za każdym razem z niewielką zmianą. W szczególności dla każdej liczby Xw zakresie [1...3]wypisuje, "#c" + Ugdzie cjest znak z kodem znaków X. Domyślnym działaniem Japt jest wypisywanie tych ciągów bez znaków cudzysłowu i oddzielanie ich przecinkami, więc jest to wynik naszego Uproszczonego A (zwróć uwagę, że między każdym #a "iQ:
#"iQ ²¯23
3õ@i'#+Xd"iQ ²,#"iQ ²¯23
3õ@i'#+Xd"iQ ²,#"iQ ²¯23
3õ@i'#+Xd"iQ ²
Zadzwonimy ten uproszczony B .
Uproszczony B ma prostą strukturę, na przemian z #ci U. Na szczęście do tej odpowiedzi, każdy #ci Ujest traktowany jako oddzielone przecinkiem, aw tej sytuacji zachowanie to jest wszystko z wyjątkiem bardzo ostatnio Unie ma wpływu na wyjściu. Jedyną częścią Uproszczonego B, która wpływa na wynik, jest:
"iQ ²¯23
3õ@i'#+Xd"iQ ²
Co jest identyczne z Utym, że znamy już wyniki Uproszczone A.
Jedyna różnica między uproszczonym A i programem A polega na tym, że zamiast generować kopie dla zakresu, [1...3]prawdziwy program generuje kopie dla zakresu [1...256]. To powoduje, że 256 wersji #ckażdej z nich ma inny znak, chociaż ostatnia wersja „Ā” jest znakiem wielobajtowym, więc nie dodaje żadnych unikalnych bajtów, ale wszystko oprócz ostatniego Ujest nadal ignorowane.