Chúng ta hãy định nghĩa một chương trình nguyên sơ là một chương trình không có bất kỳ lỗi nào nhưng sẽ lỗi nếu bạn sửa đổi nó bằng cách xóa bất kỳ chuỗi con liền kề nào của N ký tự, trong đó 1 <= N < program length
.
Ví dụ, chương trình ba ký tự Python 2
`8`
là một chương trình nguyên sơ ( cảm ơn, Sp ) bởi vì tất cả các chương trình do loại bỏ các chuỗi con có độ dài 1 gây ra lỗi (thực tế là lỗi cú pháp, nhưng bất kỳ loại lỗi nào cũng sẽ xảy ra):
8`
``
`8
và tất cả các chương trình dẫn đến việc loại bỏ các chuỗi con có độ dài 2 gây ra lỗi:
`
`
Ví dụ, `8
nếu là một chương trình `8`
không có lỗi thì sẽ không còn nguyên sơ vì tất cả các kết quả loại bỏ chuỗi con phải bị lỗi.
Nhiệm vụ của bạn trong thử thách này là viết chương trình nguyên sơ ngắn nhất có thể, không mất đầu vào mà xuất ra bất kỳ một trong năm từ sau:
world
earth
globe
planet
sphere
Những từ bạn chọn là hoàn toàn tùy thuộc vào bạn. Từ duy nhất cộng với một dòng mới theo dõi tùy chọn nên được in ra thiết bị xuất chuẩn (hoặc thay thế gần nhất với ngôn ngữ của bạn). Chương trình ngắn nhất tính bằng byte thắng.
Ghi chú:
- Một chương trình độc lập là bắt buộc, không phải là một chức năng.
- Các từ là trường hợp nhạy cảm; đầu ra
World
hoặcEARTH
không được phép. - Trình biên dịch cảnh báo không được tính là lỗi.
- Các chương trình con lỗi có thể nhận đầu vào hoặc đưa ra đầu ra hoặc làm bất cứ điều gì khác miễn là cuối cùng chúng luôn bị lỗi.
Đây là một đoạn mã ngăn xếp sẽ liệt kê những chương trình nào cần lỗi khi đưa ra một chương trình nguyên sơ:
<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>