7
เอาท์พุทสองหลาย
ความท้าทาย ฉันขอเสนออีกสายลับเทียบกับสายลับที่ท้าทายการเจาะรู obfuscators เมื่อเทียบกับแคร็กเกอร์ ในกรณีนี้ แต่ตัวเลขที่จะป้องกันไม่ได้ใส่ แต่เอาท์พุท กฎของการท้าทายนั้นง่าย เขียนรูทีนด้วยข้อกำหนดต่อไปนี้: ชุดคำสั่งอาจเขียนเป็นภาษาใดก็ได้ แต่ต้องไม่เกิน 320 ไบต์ รูทีนต้องยอมรับจำนวนเต็ม 32- บิตที่ได้รับการรับรองทั้งสามเป็นอินพุต มันสามารถอยู่ในรูปแบบของฟังก์ชั่นที่ยอมรับ 3 ข้อโต้แย้งฟังก์ชั่นที่ยอมรับอาร์เรย์ 3 องค์ประกอบเดียวหรือโปรแกรมสมบูรณ์ที่อ่านจำนวนเต็ม 3 จำนวนจากอินพุตมาตรฐานใด ๆ รูทีนต้องเอาท์พุทจำนวนเต็ม 32- บิตที่เซ็นชื่อหนึ่งชุด โดยอินพุตที่เป็นไปได้ทั้งหมดรูทีนต้องส่งออกระหว่างค่าเฉพาะ 2 ถึง 1,000 (รวม) จำนวนของค่าที่ไม่ซ้ำกันการส่งออกสามารถประจำเรียกว่ามันสำคัญ ดังตัวอย่างโปรแกรม C int foo( int i1, int i2, int i3 ) { return 20 + (i1^i2^i3) %5; …