कम से कम दो तत्वों के पूर्णांक सरणी को देखते हुए, सरणी के मैट्रिक्स-वेक्टर (नीचे परिभाषित) को आउटपुट करें ।
मैट्रिक्स-वेक्टर की गणना करने के लिए , पहले आकार का n
एक मैट्रिक्स बनाने के लिए आकार- इनपुट सरणी के माध्यम से घुमाएं n x n
, मुख्य विकर्ण के बाद सरणी के पहले तत्व के साथ। यह मैट्रिक्स भाग बनाता है। वेक्टर के लिए, इनपुट ऐरे को लंबवत रूप से फ्लिप करें। फिर सामान्य मैट्रिक्स गुणा करें। आउटपुट वेक्टर परिणाम है।
उदाहरण के लिए,
a = [1, 2, 3]
सबसे पहले, सरणी को दाईं ओर दो बार घुमाएं, प्राप्त करने के लिए [3, 1, 2]
और [2, 3, 1]
, फिर उन्हें एक 3x3
मैट्रिक्स बनाने के लिए स्टैक करें
[[1, 2, 3]
[3, 1, 2]
[2, 3, 1]]
अगला, वेक्टर बनाने के लिए लंबवत सरणी को फ्लिप करें
[[1, 2, 3] [[1]
[3, 1, 2] x [2]
[2, 3, 1]] [3]]
सामान्य मैट्रिक्स गुणन करें
[[1, 2, 3] [[1] [[1+4+9] [[14]
[3, 1, 2] x [2] = [3+2+6] = [11]
[2, 3, 1]] [3]] [2+6+3]] [11]]
और आउटपुट है [14, 11, 11]
या [[14], [11], [11]]
(आपकी पसंद चाहे वह चपटा हो या नहीं)।
उदाहरण # 2
a = [2, 5, 8, 3]
[[2, 5, 8, 3] [[2] [[4+25+64+9] [[102]
[3, 2, 5, 8] x [5] = [6+10+40+24] = [80]
[8, 3, 2, 5] [8] [16+15+16+15] [62]
[5, 8, 3, 2]] [3]] [10+40+24+6]] [80]]
[102, 80, 62, 80]
नियम
- इनपुट और आउटपुट को आपकी भाषा के मूल पूर्णांक प्रकार में फिट होने के लिए माना जा सकता है।
- इनपुट और आउटपुट किसी भी सुविधाजनक प्रारूप में दिए जा सकते हैं ।
- या तो एक पूर्ण कार्यक्रम या एक समारोह स्वीकार्य हैं। यदि कोई फ़ंक्शन है, तो आप इसे प्रिंट करने के बजाय आउटपुट वापस कर सकते हैं।
- यदि संभव हो, तो कृपया ऑनलाइन परीक्षण वातावरण का लिंक शामिल करें ताकि अन्य लोग आपके कोड को आज़मा सकें!
- मानक खामियों को मना किया जाता है।
- यह कोड-गोल्फ है इसलिए सभी सामान्य गोल्फिंग नियम लागू होते हैं, और सबसे छोटा कोड (बाइट्स में) जीतता है।
(v*2)[i+j]
अच्छी चाल