ลองกำหนดโปรแกรมที่เก่าแก่เป็นโปรแกรมที่ไม่มีข้อผิดพลาดใด ๆ ของตัวเอง แต่จะผิดพลาดถ้าคุณแก้ไขได้โดยการเอาย่อยที่ต่อเนื่องกันใด ๆ ของตัวอักษร 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>