Définissons un programme vierge comme un programme qui ne contient aucune erreur, mais qui commettra une erreur si vous le modifiez en supprimant toute sous-chaîne contiguë de N caractères, où 1 <= N < program length
.
Par exemple, le programme Python 2 à trois caractères
`8`
est un programme vierge ( merci, Sp ) car tous les programmes résultant de la suppression de sous-chaînes de longueur 1 provoquent des erreurs (des erreurs de syntaxe, mais tout type d'erreur conviendra):
8`
``
`8
ainsi que tous les programmes résultant de la suppression de sous-chaînes de longueur 2 provoquent des erreurs:
`
`
Si, par exemple, `8
il s’agissait d’un programme `8`
ne faisant pas d’ erreur, il ne serait pas parfait car tous les résultats de la suppression de la sous-chaîne doivent être erronés.
Votre tâche dans ce défi consiste à écrire le programme vierge le plus court possible, qui ne prend aucune entrée, mais génère l'un des cinq mots suivants:
world
earth
globe
planet
sphere
Le mot que vous choisissez est entièrement à vous. Le mot unique plus un caractère de fin de ligne optionnel doivent être imprimés sur la sortie standard (ou l'alternative la plus proche de votre langue). Le programme le plus court en octets gagne.
Remarques:
- Un programme autonome est requis, pas une fonction.
- Les mots sont sensibles à la casse; la sortie
World
ouEARTH
n'est pas autorisée. - Les avertissements du compilateur ne comptent pas comme des erreurs.
- Les sous-programmes en erreur peuvent prendre en entrée ou en sortie ou faire autre chose tant qu'ils finissent toujours par se tromper.
Voici un extrait de pile qui listera les programmes nécessitant une erreur pour un programme potentiellement vierge:
<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>