TovTovTov ( Tavuk mutasyonu): 810147050 bayt
Aşağıda önerilen iki çözüm vardır: Çok sayıda bayt gerektiren soruya bir tam çözüm ve ikinci bir kısmi çözüm ( her biri farklı bir yaklaşım izleyen , yalnızca 484 bayt gerektiren yalnızca N + N ve N * N parçalarını çözme ) serin hileler kümesi! :)
1. Tam çözüm (810147050 bayt)
Kullanıldığında TovTovTov(TOV='hi',SEP=','), TOVelemanlar yerdeki karakterleri kopyalamaya karşı bağışıklık kazanır (her ikisinde "hihihi"ve "hhiihhiihhii"içinde üç "hi"s vardır ve bunların tümü, s arasında TovTovTovkaç tane TOVgöründüğü ile ilgilidir SEP).
Kullanırsak SEP=', ', tüm program karakter çoğaltmasına karşı bağışıklık kazanır (ki bu iyidir, ancak soruyu çözmez). Yani kullanıyoruz SEP=','.
Yani programı "hihihi,hi", örneğin, int diziye derler [3,1]iken,"hhiihhiihhii,,hhii" derlerken için [3,0,1]ve "hhiihhiihhii,,hhii"için [3,0,0,1]. Bu, komutların kendilerinin çoğaltma sonrası anlamlarını değiştirmeyeceği, ancak toplam uzunluk karakter çoğaltma ile değiştiği anlamına gelir. Solüsyon aşağıdaki programın uzunluğunu sorgular ve yazdırmaya karar vermek bu kullanır N+N, N*Nya da N^N.
İnts dizisi olarak önerilen tam çözüm: [6, 12, 9, 18, 9, 142, 11, 38, 8, 9, 260, 11, 73, 8, 22, 75, 7, 10, 14, 3, 1, 22, 24, 18, 15, 8, 10, 16, 3, 1, 22, 24, 18, 15, 8, 10, 45, 16, 7, 22, 3, 1, 22, 24, 18, 15, 8, 22, 3, 1, 22, 24, 18, 15, 8, 25, 3, 1, 22, 24, 18, 15, 8, 48, 3, 1, 22, 24, 18, 15, 8, 277, 3, 1, 22, 24, 18, 15, 8, 3146, 3, 1, 22, 24, 18, 15, 8, 46677, 3, 1, 22, 24, 18, 15, 8, 823564, 3, 1, 22, 24, 18, 15, 8, 16777237, 3, 1, 22, 24, 18, 15, 8, 387420510, 3, 1, 22, 24, 18, 15, 8]
Bir dizge olarak, 810147050 karakterden oluşan oldukça uzun bir program:
hihihihihihi,hihihihihihihihihihihihi,hihihihihihihihihi,hihihihihihihihihihihihihihihihihihi,hihihihihihihihihi,hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihih...
2. Sorunun yalnızca N + N ve N * N kısımlarını çözme (484 bayt)
Kullanarak TovTovTov(TOV='1',SEP=', '), bu kez SEPs kopyalamaya bağışık değil ( ",, "hala sadece bir tane var", " vardır), bu nedenle aşağıdaki önerilen çözüm, karakter çoğaltmasından sonra bile, her zaman 33 komut içerecektir:
1111, 111111111111111111111111111111111111111111111111, 1111111111, 1111111111, 1111111111, 111111, 111111111111, 111111111, 11111111111111, 111, 1, 1111111111111111111111, 111111111111111111111111, 111111111111111111, 111111111111111, 11111111, 111111111111, 1111111111111111, 111111111111111, 1111111111111111111111, 111111111111111111111111111111111111, 11, 1111111111111111111111111111, 111111, 111, 111111, 11111111111, 111111111111111111111111111, 1111, 1, 11111111, 1, 11111111
Karşılık gelen ints dizisi (sayısı TOV s ( 1aşağıdaki gibi yukarıdaki 33 komutların her biri s)) aşağıdaki gibidir:[4,48,10,10,10,6,12,9,14,3,1,22,24,18,15,8,12,16,15,22,36,2,28,6,3,6,11,27,4,1,8,1,8]
Yerinde karakterleri çoğaltma 33 listesiyle sonuçlanır tamamen farklı komutların :
[8,96,20,20,20,12,24,18,28,6,2,44,48,36,30,16,24,32,30,44,72,4,56,12,6,12,22,54,8,2,16,2,16]
Orijinal ints dizisi ( N + N'yi hesaplar ) komutlar anlamlarını değiştirdikten sonra program hala mantıklı geliyor, fakat N * N'yi hesaplayacak şekilde dikkatlice tasarlandı . Örneğin, ilk ( karaktere dönüştürmek için bir sonraki kodu bir karaktere dönüştürmek için bir ascii kodu olarak kabul et) olarak anlar) karakter yinelemesinden sonra değişir , ki bu tamamen farklı bir komuttur ("Program Sayacını ilk açılan değere değiştirir) İstenilen değer hemen sonra doğru ise, ").4TovTovTov8