30
ห่วงทำลายอัตโนมัติสั้นที่สุด
งานของคุณคือการเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้เวลาไม่ป้อนข้อมูลและการทำงานประเภทของวง (ใด ๆwhile, for, foreach, do, do-while, do-loop, goto, recursion ฯลฯ ) ที่จะสิ้นสุดในการก่อให้เกิดข้อผิดพลาดซึ่งหมายความว่าโปรแกรมที่จะต้องหยุดตัวเองทำงานและ ทางออก กฎ: ข้อผิดพลาดต้องเป็นข้อผิดพลาดในการทำงานข้อยกเว้นที่ไม่สามารถจัดการได้หรือสิ่งใดก็ตามที่ทำให้โปรแกรมหยุดทำงานเอง ข้อผิดพลาดจะต้องสร้างการหยุดและออกจากโปรแกรมโดยไม่ต้องเรียกอย่างชัดเจนexit;(หรือเทียบเท่า) ในบางจุด ข้อความเช่นWarning:, Notice:ฯลฯ ที่ไม่ทำให้โปรแกรมสิ้นสุดตัวเองไม่ถูกต้อง ตัวอย่างเช่นในแผนก PHP โดยศูนย์สร้างWarningข้อความ แต่โปรแกรมจะไม่หยุดและจะยังคงทำงานอยู่นี่ไม่ใช่คำตอบที่ถูกต้อง การวนซ้ำต้องทำงานอย่างน้อยหนึ่งรอบเต็ม กล่าวอีกนัยหนึ่งข้อผิดพลาดอาจเกิดขึ้นได้ตั้งแต่รอบที่สองเป็นต้นไป นี่คือการหลีกเลี่ยงที่จะทำให้เกิดข้อผิดพลาดโดยใช้ไวยากรณ์รหัสที่ไม่ถูกต้อง: รหัสจะต้องถูกต้องทางไวยากรณ์ การวนซ้ำอาจเป็นอนันต์ (ตัวอย่างfor(;;);) ถ้ามันเคารพกฎดังกล่าวข้างต้น แต่ต้องใช้เวลาไม่เกิน 2 นาทีในการสิ้นสุดตัวเองในข้อผิดพลาดขณะทำงาน การเรียกซ้ำโดยไม่มี Tail Call Optimization ไม่ถูกต้อง ( 1 , 2 ) นี่คือโค้ดกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่าง C # …
61
code-golf