एक वाल्श मैट्रिक्स क्वांटम कंप्यूटिंग में अनुप्रयोगों के साथ एक विशेष प्रकार का वर्ग मैट्रिक्स है (और शायद अन्यत्र, लेकिन मैं केवल क्वांटम कंप्यूटिंग के बारे में परवाह करता हूं)।
वाल्श मैट्रिस के गुण
आयाम, इसलिए 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)
को किसी भी सुविधाजनक प्रारूप में लेता है । यह सरणियों का एक सरणी हो सकता है, बूलियन का एक चपटा सरणी, एक .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]
...)