ข้อความ Arecibo เป็นข้อความวิทยุระหว่างดวงดาวปี 1974 ซึ่งมีข้อมูลพื้นฐานเกี่ยวกับมนุษยชาติและโลกที่ส่งไปยังกระจุกดาวทรงกลม M13 ด้วยความหวังว่าหน่วยข่าวกรองต่างดาวอาจได้รับและถอดรหัส ... ข้อความประกอบด้วยเลขฐานสอง 1,679 ประมาณ 210 ไบต์ ...
เลือกหมายเลข 1,679 เนื่องจากเป็น semiprime (ผลิตภัณฑ์ของจำนวนเฉพาะสองหมายเลข) ที่จะจัดเรียงเป็นแถว 73 แถวโดย 23 คอลัมน์ การจัดเรียงทางเลือก 23 แถวคูณ 73 คอลัมน์สร้างชุดอักขระที่ไม่สามารถเข้าใจได้ (เช่นเดียวกับรูปแบบ X / Y อื่น ๆ ทั้งหมด)
นี่คือข้อความที่เพิ่มสีเพื่อเน้นส่วนต่าง ๆ การส่งสัญญาณไบนารีจริงไม่มีข้อมูลสี
งานของคุณคือการส่งออกข้อความ Arecibo ในการจัดเรียง 23x73 ที่แน่นอนที่แสดงในภาพ รูปแบบเอาต์พุตใด ๆ เหล่านี้ยอมรับได้:
- ข้อความโดยใช้อักขระหนึ่งตัวสำหรับหนึ่งตัวและอีกหนึ่งตัวเป็นศูนย์ (ใช้กฎปกติสำหรับการแยกแถว)
- อาร์เรย์ 2 มิติของค่าที่แตกต่างสองค่า
- รูปภาพขนาด 23x73 สองสีที่ต่างกัน
- กระแสรายการต่อเนื่อง 1679 รายการของค่าสองค่าที่แตกต่าง (เช่นรูปแบบใด ๆ ข้างต้น แต่แบนราบ)
- จำนวนเต็ม 1679 บิต ระบุลำดับบิตและไบต์ (endianness) ในโซลูชันของคุณ
เพื่อความสะดวกของคุณนี่คือรุ่นคัดลอกวาง (เช่นเอาท์พุทตัวอย่างในรูปแบบข้อความ):
00000010101010000000000
00101000001010000000100
10001000100010010110010
10101010101010100100100
00000000000000000000000
00000000000011000000000
00000000001101000000000
00000000001101000000000
00000000010101000000000
00000000011111000000000
00000000000000000000000
11000011100011000011000
10000000000000110010000
11010001100011000011010
11111011111011111011111
00000000000000000000000
00010000000000000000010
00000000000000000000000
00001000000000000000001
11111000000000000011111
00000000000000000000000
11000011000011100011000
10000000100000000010000
11010000110001110011010
11111011111011111011111
00000000000000000000000
00010000001100000000010
00000000001100000000000
00001000001100000000001
11111000001100000011111
00000000001100000000000
00100000000100000000100
00010000001100000001000
00001100001100000010000
00000011000100001100000
00000000001100110000000
00000011000100001100000
00001100001100000010000
00010000001000000001000
00100000001100000000100
01000000001100000000100
01000000000100000001000
00100000001000000010000
00010000000000001100000
00001100000000110000000
00100011101011000000000
00100000001000000000000
00100000111110000000000
00100001011101001011011
00000010011100100111111
10111000011100000110111
00000000010100000111011
00100000010100000111111
00100000010100000110000
00100000110110000000000
00000000000000000000000
00111000001000000000000
00111010100010101010101
00111000000000101010100
00000000000000101000000
00000000111110000000000
00000011111111100000000
00001110000000111000000
00011000000000001100000
00110100000000010110000
01100110000000110011000
01000101000001010001000
01000100100010010001000
00000100010100010000000
00000100001000010000000
00000100000000010000000
00000001001010000000000
01111001111101001111000
หากภาษาของคุณมี Buildin สำหรับข้อความ Arecibo คุณไม่สามารถใช้ builtin นั้นได้
โชคดี!
อัปเดต: ฉันยอมรับคำตอบ 05AB1E เนื่องจากเป็นคำตอบแรกที่สั้นกว่าข้อความต้นฉบับ อย่าปล่อยให้สิ่งนั้นห้ามคุณจากโซลูชันใหม่
อัปเดต 2019-09-09: คำตอบที่ยอมรับถูกย้ายไปยังคำตอบ 05AB1E ใหม่เนื่องจากคำตอบก่อนหน้านี้ล้าสมัยแล้ว 05AB1E จุดเดียวกันจะไปเป็นการอัปเดตก่อนหน้า โซลูชั่นใหม่ยังยินดีต้อนรับ