3
รหัส (นักดัด) กฎกอล์ฟ Golf
รหัสกอล์ฟเกี่ยวข้องกับคำตอบบางอย่างที่ทำให้กฏกติกามากขึ้นหรือน้อยลงด้วยการทำลายข้อ จำกัด ที่ผู้ท้าชิงรับหรือไม่ได้คิดและไม่ได้ระบุไว้ในกฎ หนึ่งในช่องโหว่ที่น่าสนใจเหล่านี้เป็นไปได้ในการส่งออกมากขึ้นกว่าที่ท้าทายขอที่จะได้รับผลที่ดีกว่า เราสามารถเขียนตัวแก้รหัสกอล์ฟสากลที่พิมพ์ผลลัพธ์ที่ต้องการ - ถ้าคุณไม่สนใจว่ามันอาจต้องใช้เวลานานและเอาท์พุทสิ่งอื่น ๆ มากมายทั้งก่อนและหลัง สิ่งที่เราต้องใช้ในการส่งออกคือลำดับที่รับประกันว่าจะมีส่วนประกอบทั้งหมดที่เป็นไปได้ สำหรับรหัสกอล์ฟนี้จะเป็นลำดับ Ehrenfeucht-Mycielski : ลำดับเริ่มต้นด้วยสามบิต 010; แต่ละหลักต่อเนื่องจะเกิดขึ้นจากการหาคำต่อท้ายที่ยาวที่สุดของลำดับที่ปรากฏก่อนหน้านี้ภายในลำดับและการพึ่งพาบิตต่อไปนี้การปรากฏตัวก่อนหน้านี้ล่าสุดของคำต่อท้ายที่ การเรียงลำดับของบิตทุกอันเกิดขึ้นอย่างต่อเนื่องไม่สิ้นสุดบ่อยครั้งในลำดับ ตัวเลขสองสามตัวแรกของลำดับคือ: 010011010111000100001111 ... (ลำดับA038219 ใน OEIS ) การรวมลำดับ 8 บิตเข้ากับไบต์เราจะได้รับเอาต์พุต ASCII ที่เราสามารถส่งออกไปยังหน้าจอหรือไฟล์และที่มีเอาต์พุต จำกัด ที่เป็นไปได้ทั้งหมด โปรแกรมจะเอาท์พุทชิ้นส่วนของ pi, เนื้อเพลงของ“ Never gonna give up” , ASCII art ที่ดี, ซอร์สโค้ดของมันเอง, และทุกอย่างที่คุณต้องการเอาท์พุท สำหรับการทดสอบความถูกต้องนี่คือแฮชสำหรับ 256 ไบต์แรกของลำดับ: MD5: 5dc589a06e5ca0cd9280a364a456d7a4 SHA-1: …