सबसे बड़े योग के साथ अंकों से वर्ग


9

आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो इनपुट और आउटपुट के रूप में अंकों की एक सूची प्राप्त करता है या इन अंकों को एक वर्ग में रखकर सबसे बड़ी राशि प्राप्त करता है।

इनपुट में हमेशा वर्गाकार अंक होंगे। इनपुट के लिए एक उदाहरण वर्ग व्यवस्था 9 1 2 3 4 5 6 7 7हो सकती है

677
943
125

योग की गणना सभी पंक्तियों और स्तंभों के योग के रूप में की जाती है। उपरोक्त व्यवस्था के लिए राशि होगी 677 + 943 + 125 + 691 + 742 + 735 = 3913। ध्यान दें कि यह अधिकतम योग नहीं है इसलिए यह अपेक्षित आउटपुट नहीं है।

इनपुट

  • लंबाई वाली सूची n^2( n>=1) जिसमें गैर-शून्य अंक ( 1-9) हैं।

उत्पादन

  • एक पूर्णांक, एक वर्ग में लगाए गए इनपुट अंकों के साथ सबसे बड़ी राशि प्राप्त होती है।

उदाहरण

उदाहरण स्वरूप है input => output

5 => 10

1 2 3 4 => 137

5 8 6 8 => 324

9 1 2 3 4 5 6 7 7 => 4588

2 4 9 7 3 4 2 1 3 => 3823

8 2 9 4 8 1 9 3 4 6 3 8 1 5 7 1 => 68423

5 4 3 6 9 2 6 8 8 1 6 8 5 2 8 4 2 4 5 7 3 7 6 6 7 => 836445

यह कोड गोल्फ है इसलिए सबसे छोटी प्रविष्टि जीतती है।


बस दो बार जांच करने के लिए, क्या इनपुट को अंतरिक्ष-अलग-अलग अंक होना चाहिए या एक अस्पष्ट सूची प्रारूप ठीक है?
193

@ Sp3000 आपके चुने हुए भाषा के सूची प्रारूप सहित कोई भी सरल अस्पष्ट सूची प्रारूप ठीक है।
यादृच्छिक जूल

जवाबों:


4

अजगर, 15 बाइट्स

s*VSsM^^LTUQ2SQ

प्रदर्शन। दोहन ​​परीक्षण।

नोट: किसी भी अजगर अनुक्रम प्रारूप में इनपुट, जैसे a,b,c,या [a, b, c]। पर विफल रहता है a

यह उदाहरण इनपुट के लिए एक स्पष्टीकरण होगा 5,8,6,8

^LTUQ: यह 10 की शक्तियों की एक सूची है, जिसकी लंबाई तक है Q[1, 10, 100, 1000]

^ ... 2: फिर, हम 10. की शक्तियों का युग्म लेते हैं [[1, 1], [1, 10], ...

sM: फिर, हम उन जोड़ियों को जोड़ते हैं। [2, 11, 101, ...प्रत्येक संख्या एक ग्रिड स्थान के मूल्य को दोहराती है। निचले दाएं कोने का मान 2 है, क्योंकि वहां रखा गया अंक उन दो संख्याओं के स्थान पर है, जो नोट करते हैं कि 16 मान उत्पन्न किए गए थे, भले ही हमें केवल 4 की आवश्यकता है। इसे शीघ्र ही नियंत्रित किया जाएगा।

S: बढ़ते क्रम में मूल्य को क्रमबद्ध करें। [2, 11, 11, 20, 101, ...। ध्यान दें कि इस इनपुट के लिए प्रासंगिक एकमात्र मान पहले 4 हैं, क्योंकि इस वर्ग में सैकड़ों या हजारों स्थान नहीं होंगे।

SQ: आरोही क्रम में इनपुट को क्रमबद्ध करें। [5, 6, 8, 8]

*V: दो सूचियों पर वेक्टरकृत गुणन। पाइथ के वेक्टरकृत गुणन लंबे इनपुट को काटता है, इसलिए यह [5*2, 6*11, 8*11, 8*20]ग्रिड में भरने के लिए सबसे छोटा, सबसे बड़ा, सबसे नीचे दाएं से बाएं ऊपर।

s:, परिणाम समाप्त करें 324। मुद्रण का तात्पर्य है।


4

सीजेएम, 23 बाइट्स

q~$_,mQ,A\f#2m*::+$.*:+

इसे ऑनलाइन आज़माएं । प्रत्येक सेल के लिए वेट जनरेट करता है और उच्चतम वज़न को उच्चतम वेटेज प्रदान करता है।

एक विकल्प 23:

q~$_,mQ_,A\f#*_$.+$.*:+

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.