Definiamo un programma incontaminato come un programma che non ha alcun errore in sé, ma lo farà se lo modifichi rimuovendo qualsiasi sottostringa contigua di N caratteri, dove 1 <= N < program length
.
Ad esempio, il programma Python 2 a tre caratteri
`8`
è un programma incontaminato ( grazie, Sp ) perché tutti i programmi risultanti dalla rimozione di sottostringhe di lunghezza 1 causano errori (in effetti errori di sintassi, ma qualsiasi tipo di errore lo farà):
8`
``
`8
e anche tutti i programmi risultanti dalla rimozione di sottostringhe di lunghezza 2 causano errori:
`
`
Se, per esempio, `8
fosse stato un programma senza errori, allora `8`
non sarebbe incontaminato perché tutti i risultati della rimozione della sottostringa devono essere errati.
Il tuo compito in questa sfida è quello di scrivere il programma più breve possibile che non accetta input ma emette una delle seguenti cinque parole:
world
earth
globe
planet
sphere
Quale parola scegli dipende interamente da te. L'unica parola più una nuova riga finale opzionale deve essere stampata su stdout (o l'alternativa più vicina alla tua lingua). Vince il programma più breve in byte.
Appunti:
- È richiesto un programma autonomo, non una funzione.
- Le parole fanno distinzione tra maiuscole e minuscole; in uscita
World
oEARTH
non è permesso. - Gli avvisi del compilatore non vengono considerati errori.
- I sottoprogrammi in errore possono accettare input o fornire output o fare qualsiasi altra cosa purché alla fine si verifichino errori.
Ecco uno snippet di stack che elencherà quali programmi necessitano di errore dato un programma potenzialmente incontaminato:
<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>