परिचय
एक लंबी लड़ाई के बाद, आप पहेलियों की प्रतियोगिता में स्फिंक्स को हराने में कामयाब रहे। स्फिंक्स, आपके कौशल से प्रभावित है, आपको अपनी चतुराई के साथ इनाम देने की इच्छा रखता है, और जादुई चर्मपत्र की एक पट्टी को आठ बक्से में विभाजित करता है, प्रत्येक में एक अंक होता है।
स्फिंक्स का कहना है, "स्फिंक्स कहते हैं," जैसे कि बक्से ओवरलैप होते हैं, और वे बक्से या तो जोड़ या गुणा के माध्यम से विलय कर देंगे। जब एक बॉक्स रहेगा, तो इसका मूल्य सोने के सिक्कों में आपका इनाम होगा। "
कार्य
आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो एक सूची / सरणी / जो भी आठ प्राकृतिक संख्याओं के इनपुट के रूप में लेता है, और 'क्रीज' संचालन की एक श्रृंखला के माध्यम से प्राप्त होने वाले अधिकतम संभव इनाम देता है।
यांत्रिकी
'क्रीज' ऑपरेशन कुछ संख्या में कोशिकाओं पर किया जाता है, और +
या तो *
ऑपरेटर के रूप में। सूची की पहली n कोशिकाओं को संचालक के उपयोग से अपने गंतव्य कोशिकाओं के साथ जोड़ दिया जाता है। मर्ज ऑपरेशन में जिन कोशिकाओं का सेवन नहीं किया जाता है, उन्हें असंशोधित छोड़ दिया जाता है।
यहाँ n = 3 कोशिकाओं का उपयोग करते हुए एक उदाहरण दिया गया है:
इसके अलावा का उपयोग करना, जो इस में परिणाम होगा:
या गुणन, जिसके परिणामस्वरूप यह होगा:
नोट: सादगी के लिए, 1 से कम सेल के साथ घटाना बंद कर दिया जाता है, जैसा कि सूची की लंबाई से अधिक या उसके बराबर कई सेल के साथ घट रहा है। हालाँकि, एक सूची इसके आधे से अधिक सेल काउंट से बढ़ सकती है।
8 कोशिकाओं की एक सूची 5 से बढ़ाई जा सकती है, जिसके परिणामस्वरूप लंबाई 5 की एक नई सूची होगी:
ऑपरेटर [0,1,2,3,4,5,6,7]
द्वारा उपयोग की जाने वाली 5 कोशिकाओं द्वारा वृद्धि की +
जाएगी [9,9,9,1,0]
।
स्कोरिंग
मानक कोड गोल्फ नियम - वह कोड जो सही आउटपुट उत्पन्न करता है और जिसमें सबसे कम संख्या में बाइट्स होती हैं।
बोनस: यदि आपका कोड भी क्रीज ऑपरेशंस के अनुक्रम / रिटर्न को प्रिंट करता है जो अधिकतम इनाम की ओर जाता है, तो अपने स्कोर को 0.8 से गुणा करें। उदाहरण आउटपुट दिख सकता है:
crease 5 +
crease 2 *
crease 2 +
crease 1 *
उदाहरण
इन इनपुट और परिणामों का उपयोग करके अपने कोड का परीक्षण करें input - maximum reward
:
[0, 1, 2, 3, 4, 5, 6, 7] - 7560
[0, 9, 0, 3, 2, 6, 1, 5] - 1944
[0, 1, 0, 3, 0, 2, 0, 4] - 36
[6, 0, 9, 1, 9, 0, 7, 3] - 11907
[0, 5, 2, 0, 1, 3, 8, 8] - 2560