วอลช์เมทริกซ์เป็นชนิดพิเศษของตารางเมทริกซ์ที่มีการใช้งานในควอนตัมคอมพิวเตอร์ (และอาจจะที่อื่น ๆ แต่ฉันจะดูแลเกี่ยวกับควอนตัมคอมพิวเตอร์)
คุณสมบัติของเมทริกซ์วอลช์
ขนาดมีอำนาจเดียวกันของ 2. ดังนั้นเราจึงสามารถอ้างถึงการฝึกอบรมเหล่านี้โดยการยกกำลังสองที่นี่เรียกพวกเขาW(0)
, W(1)
, W(2)
...
W(0)
[[1]]
ถูกกำหนดให้เป็น
สำหรับn>0
, W(n)
รูปลักษณ์ที่ต้องการ:
[[W(n-1) W(n-1)]
[W(n-1) -W(n-1)]]
ดังนั้นW(1)
คือ:
[[1 1]
[1 -1]]
และW(2)
คือ:
[[1 1 1 1]
[1 -1 1 -1]
[1 1 -1 -1]
[1 -1 -1 1]]
รูปแบบต่อไป ...
งานของคุณ
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นจำนวนเต็มn
และพิมพ์ / ส่งคืนW(n)
ในรูปแบบที่สะดวก นี่อาจเป็นอาร์เรย์ของอาร์เรย์ booleans ที่มี.svg
รูปแบนคุณตั้งชื่อมันตราบใดที่มันถูกต้อง
ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
สิ่งที่สอง:
สำหรับW(0)
ความ1
จำเป็นที่จะต้องไม่ถูกห่อหุ้มแม้แต่ครั้งเดียว มันอาจจะเป็นจำนวนเต็มเพียง
คุณได้รับอนุญาตให้ทำดัชนี 1 ผลลัพธ์ - W(1)
จะเป็น[[1]]
อย่างไร
กรณีทดสอบ
0 -> [[1]]
1 -> [[1 1]
[1 -1]]
2 -> [[1 1 1 1]
[1 -1 1 -1]
[1 1 -1 -1]
[1 -1 -1 1]]
3 -> [[1 1 1 1 1 1 1 1]
[1 -1 1 -1 1 -1 1 -1]
[1 1 -1 -1 1 1 -1 -1]
[1 -1 -1 1 1 -1 -1 1]
[1 1 1 1 -1 -1 -1 -1]
[1 -1 1 -1 -1 1 -1 1]
[1 1 -1 -1 -1 -1 1 1]
[1 -1 -1 1 -1 1 1 -1]]
8 ->
Pastebin
นี่คือรหัสกอล์ฟดังนั้นทางออกที่สั้นที่สุดในแต่ละภาษาชนะ! มีความสุขในการเล่นกอล์ฟ!
W(1)
ผลตอบแทน[[1]]
, W(2)
ผลตอบแทนที่[[1,1],[1,-1]
... )