เป็นที่รู้จักกันดี ,
Chuck Norris นับเป็นอนันต์ สองครั้ง
Chuck Norris สามารถนับถอยหลังได้ไม่สิ้นสุด
นอกจากนี้แม้ว่าอาจรู้จักน้อยกว่า Chuck Norris สามารถพูดภาษาสเปนได้เล็กน้อยนอกเหนือจากภาษาอังกฤษ
ความท้าทาย
เขียนโปรแกรม (หรือฟังก์ชั่น) ที่สามารถเรียกใช้ในสองภาษาที่แตกต่างกัน ในหนึ่งภาษาโปรแกรมควรส่งลำดับ
1, 1, 2, 2, 3, 3, 4, 4, ...
และในภาษาอื่น ๆ ก็ควรสร้างลำดับ (รวมถึงศูนย์นำ)
1, 2, ..., 9, 01, 11, 21, 31, ..., 89, 99, 001, 101, 201, ...
กฎระเบียบ
- โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- ภาษาเดียวกันเวอร์ชันต่าง ๆ (เช่น Python 2/3) จะไม่นับเป็นภาษาอื่น ภาษาที่เกี่ยวข้อง (เช่น C / C ++ หรือ Matlab / Octave) นับว่าแตกต่างกัน
- ไม่มีการป้อนข้อมูล
- โปรแกรมควรดำเนินการตามเงื่อนไขเอาต์พุตตามลำดับจนกว่าผู้ใช้จะหยุดทำงาน เนื่องจากโปรแกรมจะไม่หยุดทำงานเองจึงไม่สามารถสร้างเอาต์พุตได้ในตอนท้าย มันจะต้องมีการผลิตในขณะที่โปรแกรมทำงานอย่างต่อเนื่องหรือเป็นชุด
- เอาต์พุตสามารถใช้ STDOUT หรือเทียบเท่าหรือสามารถแสดงในหน้าต่างกราฟิก อนุญาตให้ใช้ตัวคั่นที่ไม่ใช่ตัวเลขใด ๆ ก็ได้ระหว่างเงื่อนไขของลำดับนั้นตราบใดที่แต่ละคำสามารถแยกแยะได้อย่างชัดเจนจากคำที่อยู่ใกล้เคียง นอกจากนี้ยังยอมรับได้หากล้างหน้าจอระหว่างข้อกำหนด
- ลำดับสามารถเริ่มต้นที่แทน
0
1
ในกรณีนั้นในลำดับ "สองครั้ง"0
ควรทำซ้ำเช่นเดียวกับตัวเลขอื่น ๆ - เลขศูนย์นำหน้ามีความสำคัญในลำดับ "ย้อนหลัง" ตัวอย่างเช่นคำที่สิบคือ
01
; ค่า1
มิได้001
เป็นที่ยอมรับ - หากทั้งสองภาษาใช้การเข้ารหัสอักขระที่แตกต่างกันโปรแกรมจะถูกกำหนดโดยไบต์ไม่ใช่อักขระ นั่นคือไบต์ควรเหมือนกันในสองภาษา
- รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ