ความท้าทาย
ส่งออกอาร์เรย์หรือสตริงที่เป็นตัวแทนของตารางมายากลที่มีชื่อเสียงของDürer :
นั่นคือ,
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
คุณสมบัติบางอย่างของสี่เหลี่ยมจัตุรัสซึ่งอาจถูกฉวยประโยชน์คือ:
- มันมีจำนวนเต็มแต่ละค่าจาก
1
ถึง16
หนึ่งครั้ง - ผลรวมของแต่ละคอลัมน์หรือแถวเช่นเดียวกับผลรวมของแต่ละเส้นทแยงมุมทั้งสองจะเท่ากัน นี่คือการกำหนดคุณสมบัติของตารางมายากล ผลรวมคือค่าคงที่เวทย์มนตร์ของสแควร์
- นอกจากนี้สำหรับสี่เหลี่ยมจัตุรัสนี้โดยเฉพาะผลรวมของแต่ละจตุภาคทั้งสี่นั้นก็เท่ากับค่าคงที่เวทย์มนตร์เช่นเดียวกับผลรวมของจุดศูนย์กลางสี่สี่เหลี่ยมและผลรวมของมุมสี่สี่เหลี่ยม
กฎระเบียบ
ไม่อนุญาตให้ใช้ Bultins ที่สร้างเวทย์มนตร์สแควร์ส (เช่น Matlab's magic
หรือ Mathematica MagicSquare
) builtin อื่น ๆ สามารถใช้ได้
รหัสสามารถเป็นโปรแกรมหรือฟังก์ชั่น
ไม่มีอินพุต
ตัวเลขต้องอยู่ในฐาน 10 รูปแบบผลลัพธ์มีความยืดหยุ่นตามปกติ ความเป็นไปได้บางอย่างคือ:
อาร์เรย์ที่ซ้อนกัน (ทั้งฟังก์ชั่นเอาท์พุทหรือการเป็นตัวแทนสตริงของมันมีหรือไม่มีตัวคั่นประเภทของการจับคู่วงเล็บ):
[[16, 3, 2, 13], [5, 10, 11, 8], [9, 6, 7, 12], [4, 15, 14, 1]]
อาร์เรย์ 2 มิติ:
{16, 3, 2, 13; 5, 10, 11, 8; 9, 6, 7, 12; 4, 15, 14, 1}
อาร์เรย์ของสี่สายหรือสตริงที่ประกอบด้วยสี่บรรทัด ตัวเลขอาจจัดชิดขวา
16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
หรือจัดชิดซ้าย
16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
สตริงที่มีตัวคั่นสองตัวต่างกันสำหรับแถวและคอลัมน์เช่น
16,3,2,13|5,10,11,8|9,6,7,12|4,15,14,1
รูปแบบผลลัพธ์ควรแยกความแตกต่างระหว่างแถวและคอลัมน์อย่างชัดเจน ตัวอย่างเช่นจะไม่ได้รับอนุญาตให้ส่งออกอาร์เรย์แบบแบนหรือสตริงที่มีตัวเลขทั้งหมดคั่นด้วยช่องว่าง
รหัสกอล์ฟ ชนะสั้นที่สุด
[15]
จากนั้นเชื่อมต่อมันซ้ำ ๆ โดยย้อนกลับกับแต่ละรายการ XORed ด้วย 13, 3, 8 และ 15 ตามลำดับ