चुनौती
चुनौती एक कोड लिखने की है जो एक इनपुट के रूप में एक सकारात्मक पूर्णांक 'एन' लेता है और सभी संभावित तरीकों को प्रदर्शित करता है जिसमें 1 - n से संख्याओं को लिखा जा सकता है, बीच में सकारात्मक या नकारात्मक संकेत, जैसे कि उनका योग। शून्य के बराबर। कृपया याद रखें कि आप केवल जोड़ या घटाव का उपयोग कर सकते हैं।
उदाहरण के लिए, यदि इनपुट 3 है, तो योग 0 बनाने के 2 तरीके हैं:
1+2-3=0
-1-2+3=0
ध्यान दें कि, संख्याएं क्रम में हैं, 1 से शुरू होकर n तक (जो इस मामले में 3 है)। जैसा कि यह उदाहरण से स्पष्ट है, पहली संख्या का संकेत नकारात्मक भी हो सकता है, इसलिए सावधान रहें।
अब, 3 बहुत सरल था। जब हम संख्या 7 पर विचार करते हैं तो हम सभी तरीकों को सूचीबद्ध करते हैं।
1+2-3+4-5-6+7=0
1+2-3-4+5+6-7=0
1-2+3+4-5+6-7=0
1-2-3-4-5+6+7=0
-1+2+3+4+5-6-7=0
-1+2-3-4+5-6+7=0
-1-2+3+4-5-6+7=0
-1-2+3-4+5+6-7=0
तो यहां, हमें कुल 8 संभावित तरीके मिले हैं।
इनपुट और आउटपुट
जैसा कि पहले कहा गया था, इनपुट एक सकारात्मक पूर्णांक होगा । आपके आउटपुट में सभी संभावित तरीके शामिल होने चाहिए जिसमें संख्याएँ शून्य का योग दें। यदि ऐसा करने का कोई संभव तरीका नहीं है , तो आप अपनी पसंद के अनुसार कुछ भी आउटपुट कर सकते हैं।
इसके अलावा, आप आउटपुट को अपने पसंद के किसी भी प्रारूप में प्रिंट कर सकते हैं । लेकिन, इसे समझना चाहिए । उदाहरण के लिए, आप इसे उपरोक्त उदाहरण में प्रिंट कर सकते हैं। या, आप क्रम में संख्याओं के संकेत मुद्रित कर सकते हैं। अन्यथा, आप '0' और '1' क्रम में भी प्रिंट कर सकते हैं, जहाँ '0' नकारात्मक चिन्ह प्रदर्शित करेगा और '1' सकारात्मक चिन्ह (या इसके विपरीत) प्रदर्शित करेगा।
उदाहरण के लिए, आप 1 + 2-3 = 0 का प्रतिनिधित्व कर सकते हैं:
1+2-3=0
1+2-3
[1,2,-3]
++-
110
001
हालांकि, मैं सादगी के लिए पहले तीन प्रारूपों में से किसी का उपयोग करने की सलाह दूंगा। आप मान्य होने के लिए सभी इनपुट मान सकते हैं।
उदाहरण
7 ->
1+2-3+4-5-6+7=0
1+2-3-4+5+6-7=0
1-2+3+4-5+6-7=0
1-2-3-4-5+6+7=0
-1+2+3+4+5-6-7=0
-1+2-3-4+5-6+7=0
-1-2+3+4-5-6+7=0
-1-2+3-4+5+6-7=0
4 ->
1-2-3+4=0
-1+2+3-4=0
2 -> -
8 ->
1+2+3+4-5-6-7+8=0
1+2+3-4+5-6+7-8=0
1+2-3+4+5+6-7-8=0
1+2-3-4-5-6+7+8=0
1-2+3-4-5+6-7+8=0
1-2-3+4+5-6-7+8=0
1-2-3+4-5+6+7-8=0
-1+2+3-4+5-6-7+8=0
-1+2+3-4-5+6+7-8=0
-1+2-3+4+5-6+7-8=0
-1-2+3+4+5+6-7-8=0
-1-2+3-4-5-6+7+8=0
-1-2-3+4-5+6-7+8=0
-1-2-3-4+5+6+7-8=0
स्कोरिंग
यह कोड-गोल्फ है , इसलिए सबसे छोटा कोड जीतता है!
+
के रूप में N
और -
के रूप में -N
, या कि यह बहुत दूर ले जा रहा है? (उदाहरण 3
-> [[-3,-3,3], [3,3,-3]]
)
0
और 1
विकल्प की तरह लेकिन उपयोग करना N
और -N
(ऊपर मेरा संपादन देखें)