1
Pseudo-quine polyglot ตัวนับการตรวจจับภาษา
Quines สนุก Polyglots ก็สนุกเช่นกัน Polyglot Quines มีอยู่ แต่เราสามารถยกระดับให้สูงขึ้นได้ เขียนไฟล์ที่มีโปรแกรมที่ถูกต้องสำหรับภาษาα, βและγ เมื่อไฟล์ถูกเรียกใช้งาน (อาจเป็นหลังจากรวบรวมไฟล์) เป็นภาษาαหรือβโปรแกรมเอาต์พุตของโปรแกรมจะอยู่ในรูปแบบเดียวกับการส่งที่ถูกต้องในการประกวดครั้งนี้ หากไฟล์ของคุณถูกเรียกใช้งานเป็นโปรแกรมภาษาไฟล์นั้นจะถูกส่งออกไปเป็นตัวเลข ค่าของตัวเลขนี้คือสายการประมวลผลก่อนหน้าของโปรแกรมที่ตีความว่าเป็นเลขฐานสอง คำอธิบายนี้อาจเป็นเรื่องยากที่จะเข้าใจดังนั้นนี่คือตัวอย่าง ให้Α, ΒและΓเป็นฟังก์ชั่นที่ดำเนินการอินพุตเป็นภาษาα, βหรือγ resp โปรแกรมและส่งคืนผลลัพธ์ของโปรแกรมเหล่านี้ ให้xเป็นข้อเสนอที่ถูกต้องในการประกวดนี้ จากนั้นการแสดงออกต่อไปนี้ที่เราดำเนินการxผ่านβภาษาα, β, α, α, βและγในคำสั่งนี้จะบังเกิด 41, 41 ตั้งแต่10 = 101001 2 Γ (Β (Α (Α (Β (Α (Β ( x ))))))) คุณไม่อาจสันนิษฐานได้ว่าการประหารชีวิตที่สุดท้ายในสายโซ่นั้นเป็นการดำเนินการในภาษาβ สำหรับกรณีที่การส่งต้นฉบับของคุณถูกดำเนินการโดยตรงเป็นโปรแกรมภาษามันจะพิมพ์ 0 โปรแกรมของคุณจะทำงานอย่างถูกต้องสำหรับการรวบรวมสูงสุดสิบหกครั้งในห่วงโซ่ นั่นคือจำนวนสูงสุดที่โปรแกรมของคุณอาจพิมพ์ออกมาในตอนท้ายคือ 2 15 …