Bozulmamış bir programı, kendi başına bir hata içermeyen bir program olarak tanımlayalım, ancak N karakterinin bitişik alt dizgisini kaldırarak değiştirirseniz hata verir 1 <= N < program length
.
Örneğin, üç karakterli Python 2 programı
`8`
bozulmamış bir programdır ( teşekkürler, Sp ) çünkü uzunluk 1'in alt dizgilerinin çıkarılmasından kaynaklanan tüm programlar hatalara neden olur (aslında sözdizimi hataları, ancak herhangi bir hata yapacaktır):
8`
``
`8
ve ayrıca uzunluk 2'nin alt dizelerinin çıkarılmasından kaynaklanan tüm programlar hatalara neden olur:
`
`
Örneğin, `8
hata yapmayan bir program `8`
olsaydı, o zaman bozulmamış olmazdı, çünkü alt zeminin kaldırılmasının tüm sonuçları hata vermeli.
Bu zorluğun içindeki göreviniz, hiçbir girdi gerektirmeyen ancak aşağıdaki beş kelimeden herhangi birini çıkaran mümkün olan en kısa bozulmamış programı yazmaktır:
world
earth
globe
planet
sphere
Hangi kelimeyi seçtiğiniz tamamen size kalmış. Tek kelime ve isteğe bağlı son bir satırsonu stdout'a (veya dilinizin en yakın alternatifi) basılmalıdır. Bayt cinsinden en kısa program kazanır.
Notlar:
- Bir fonksiyon değil, bağımsız bir program gereklidir.
- Kelimeler büyük / küçük harf duyarlıdır; çıkış
World
veyaEARTH
izin verilmiyor. - Derleyici uyarıları hata olarak sayılmaz.
- Hata yapan alt programlar her zaman hata yaptıkları sürece girdi alabilir veya çıktı verebilir veya başka bir şey yapabilir.
İşte potansiyel olarak bozulmamış bir program verildiğinde hangi programların hata yapması gerektiğini listeleyen bir yığın pasajı:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>function go() { var s = $('#i').val(), e = []; for (var i = 1; i < s.length; i++) { for (var j = 0; j <= s.length - i; j++) { e.push(s.substring(0, j) + s.substring(j + i)); } } $('#o').val(e.join('\n---\n')); }</script>Program:<br><textarea id='i' rows='16' cols='80'>`8`</textarea><br><button onclick='go()' type='button'>Go</button><br><br>Programs that should error: (--- separated)<br><textarea id='o' rows='16' cols='80'></textarea><br>