Давайте определим нетронутую программу как программу, которая сама по себе не имеет ошибок, но выдаст ошибку, если вы измените ее, удалив любую смежную подстроку из N символов, где 1 <= N < program length
.
Например, трехсимвольная программа Python 2
`8`
это нетронутая программа ( спасибо, Sp ), потому что все программы, возникающие в результате удаления подстрок длины 1, вызывают ошибки (на самом деле синтаксические ошибки, но любой тип ошибок будет делать):
8`
``
`8
а также все программы, возникающие в результате удаления подстрок длины 2, вызывают ошибки:
`
`
Например, `8
если бы программа была без ошибок, `8`
она не была бы нетронутой, потому что все результаты удаления подстроки должны содержать ошибки.
Ваша задача в этой задаче - написать самую короткую нетронутую программу, которая не требует ввода, но выдает одно из следующих пяти слов:
world
earth
globe
planet
sphere
Какое слово вы выберете, зависит только от вас. Отдельное слово плюс необязательный завершающий перевод новой строки должны быть напечатаны на stdout (или ближайшей альтернативе вашего языка). Самая короткая программа в байтах побеждает.
Примечания:
- Требуется отдельная программа, а не функция.
- Слова чувствительны к регистру; вывод
World
илиEARTH
не допускается. - Предупреждения компилятора не считаются ошибками.
- Подпрограммы с ошибками могут принимать входные данные или давать выходные данные или делать что-либо еще, если они всегда в конечном итоге дают ошибку.
Вот фрагмент стека, в котором будет перечислено, какие программы должны выдавать ошибку, учитывая потенциально нетронутую программу:
<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>