17
การสร้างล่าม HQ9 +
เป้าหมายของรหัสกอล์ฟนี้คือการสร้างล่ามสำหรับภาษาการเขียนโปรแกรมHQ9 + มี 4 คำสั่งในภาษาการเขียนโปรแกรมนี้: H - พิมพ์ "Hello, world!" Q - พิมพ์ซอร์สโค้ดของโปรแกรม 9 - พิมพ์เนื้อเพลงของเพลง"99 ขวดเบียร์" + - เพิ่มตัวสะสม กฎระเบียบ: เนื่องจากไม่ได้กำหนดตัวสะสมคุณสามารถละเว้นคำสั่ง+ โปรแกรมของคุณควรถามให้ใส่ (อินพุตนี้จะเป็นซอร์สโค้ด) หรือซอร์สโค้ดถูกอ่านจากไฟล์ คุณไม่ได้รับอนุญาตให้ใส่เนื้อเพลง "99 ขวดเบียร์" ลงในไฟล์และอ่านข้อความจากไฟล์ คุณไม่ได้รับอนุญาตให้ใช้อัลกอริทึมการบีบอัดเช่น GZip หรือ BZip เพื่อบีบอัดข้อความเพลง: คุณต้องสร้างอัลกอริทึมการบีบอัดของคุณเอง สิ่งนี้ไม่จำเป็นต้องเป็นอัลกอริทึมที่ซับซ้อน แต่พยายามบีบอัดข้อความให้มากที่สุดเท่าที่จะเป็นไปได้ (โปรดจำไว้ว่านี่คือรหัสกอล์ฟซึ่งเป็นรหัสที่มีจำนวนไบต์น้อยที่สุดที่ชนะ) หากซอร์สโค้ดมีอักขระที่ไม่ใช่H , Q , 9หรือ+ให้เอาท์พุท "ซอร์สโค้ดมีอักขระที่ไม่ถูกต้อง" ก่อนที่จะรันคำสั่งใด ๆ ! ซึ่งหมายความว่าถ้ารหัสที่มาเป็นH1เช่นนั้นไม่ได้มีการส่งออกก่อนที่จะส่งออกHello, world! Source …