ท้าทาย:
เขียนรหัสที่เมื่อเรียกใช้งานจะส่งออกซอร์สโค้ดของโปรแกรมที่สองที่สามารถดำเนินการในภาษาอื่น โปรแกรมที่สองควรส่งออกซอร์สโค้ดของโปรแกรมที่สามที่สามารถดำเนินการในภาษาที่สามเป็นต้น โปรแกรมสุดท้ายควรเอาต์พุตPPCG
ด้วยการขึ้นบรรทัดใหม่ที่เป็นทางเลือกเดียว
ผู้ชนะจะได้รับการส่งด้วยภาษาส่วนใหญ่ ความยาวรหัสของโปรแกรมแรกจะเป็นตัวแบ่งไทม์
กฎสำคัญ:
- ไม่มีโปรแกรมใดที่เหมือนกัน
- แต่ละภาษาจะต้องทำงานกับหนึ่งในซอร์สโค้ดเท่านั้น มันควรจะเป็นไปไม่ได้ที่จะใช้ภาษาเดียวกันสองสถานที่ในห่วงโซ่โดยไม่ทำลายมัน(ดูตัวอย่าง)
- ห่วงโซ่ที่สั้นลงไม่ใช่ห่วงโซ่ที่หัก หากคุณสามารถใช้ภาษาในสถานที่ที่แตกต่างไปจากที่ตั้งใจไว้และผลลัพธ์ที่ได้คือ PPCG แสดงว่ามันไม่ถูกต้อง
- ทุกรุ่นของภาษานับเป็นภาษาที่ไม่ซ้ำกัน (แต่โปรดจำไว้ว่ากฎข้อที่ 2)
ตัวอย่าง:
ส่งไม่ถูกต้อง:
print("""print'disp("PPCG")'""")
- Python 3: งาน
print("""print'disp("PPCG")'""")
พิมพ์print'disp("PPCG")'
- Python 2:
print'disp("PPCG")'
ภาพพิมพ์disp("PPCG")
- ระดับแปด:
disp("PPCG")
พิมพ์PPCG
สิ่งนี้ทำงานได้อย่างถูกต้องแต่:คุณสามารถเรียกใช้ได้ทั้งรหัสแรกและรหัสที่สองใน Python 2 โดยไม่ทำลายสายโซ่ดังนั้นจึงเป็นการละเมิดกฎหมายเลข 2
การส่งที่ถูกต้องด้วยคะแนน 3:
print("""print'disp("PPCG")'""")
- Python 3: งาน
print("""print'disp("PPCG")'""")
พิมพ์print'disp("PPCG")'
- Perl:
print'disp("PPCG")'
พิมพ์disp("PPCG")
- ระดับแปด:
disp("PPCG")
พิมพ์PPCG
นี่เป็นรหัสเดียวกับตัวอย่างที่ไม่ถูกต้อง ความแตกต่างคือเราได้เลือกภาษาที่เป็นไปตามกฎข้อที่ 2: คุณไม่สามารถเรียกใช้รหัสแรกใน Perl / Octave, รหัสที่สองใน Python 3 / Octave หรือรหัสสุดท้ายใน Python 3 / Perl สิ่งนี้ใช้ได้แม้ว่า Python 2 จะสามารถรันสองโปรแกรมแรกได้เพราะเราไม่ได้ใช้ Python 2 เป็นหนึ่งในภาษา