गैर-पूर्णांक की गैर-रिक्त सूची को देखते हुए, इसे अंकगणित समस्या के रूप में फिर से लिखने पर विचार करें:
+
संख्याओं के जोड़े के बीच एक प्लस चिह्न ( ) डाला जाता है जो बाएं से दाएं बढ़ता है (सूची की शुरुआत से अंत तक उर्फ)।- एक माइनस साइन (
-
) संख्याओं के जोड़े के बीच डाला जाता है जो बाएं से दाएं घटते हैं। - एक गुणन चिह्न (
*
) समान संख्याओं के जोड़े के बीच डाला जाता है।
एक और तरीका कहा: कोई भी सबलिस्ट a,b
बन जाता है a+b
यदि a<b
, a-b
यदि a>b
, और a*b
यदि a==b
।
उदाहरण के लिए, सूची
[12, 0, 7, 7, 29, 10, 2, 2, 1]
अभिव्यक्ति बन जाएगा
12 - 0 + 7*7 + 29 - 10 - 2*2 - 1
जो मूल्यांकन करता है 75
।
एक प्रोग्राम या फ़ंक्शन लिखें जो इस तरह की सूची में लेता है और इसका मूल्यांकन करता है, मुद्रण या परिणाम लौटाता है।
- परिचालन मामलों का आदेश। गुणा किसी भी जोड़ या घटाव से पहले किया जाना चाहिए।
- यदि इनपुट सूची में एक नंबर है, तो वह होना चाहिए जो इसका मूल्यांकन करता है। जैसे
[64]
देना चाहिए64
। - उपयोग की
eval
याexec
या इसी तरह के निर्माणों अनुमति दी है।
यहाँ कुछ अतिरिक्त उदाहरण दिए गए हैं:
[list]
expression
value
[0]
0
0
[1]
1
1
[78557]
78557
78557
[0,0]
0*0
0
[1,1]
1*1
1
[2,2]
2*2
4
[0,1]
0+1
1
[1,0]
1-0
1
[1,2]
1+2
3
[2,1]
2-1
1
[15,4,4]
15-4*4
-1
[9,8,1]
9-8-1
0
[4,2,2,4]
4-2*2+4
4
[10,9,9,12]
10-9*9+12
-59
[1,1,2,2,3,3]
1*1+2*2+3*3
14
[5,5,4,4,3,3]
5*5-4*4-3*3
0
[3,1,4,1,5,9,2,6,5,3,5,9]
3-1+4-1+5+9-2+6-5-3+5+9
29
[7637,388,389,388,387,12,0,0,34,35,35,27,27,2]
7637-388+389-388-387-12-0*0+34+35*35-27*27-2
7379
बाइट्स में सबसे छोटा कोड जीतता है। टाईब्रेकर पहले जवाब है।