Xkcd से प्रेरित है ।
आपकी चुनौती यह निर्धारित करने की है कि क्या कोई संख्या 2048 खेल में अच्छा संयोजन करेगी । आपका इनपुट एक नंबर होगा, जैसे:
8224
और उत्पादन किया जाएगा कि क्या उस नंबर एक अच्छा 2048 कॉम्बो है, जो इस इनपुट के लिए किया जाएगा होगा trueया yesया 1या एक सकारात्मक परिणाम यह दर्शाता है की किसी अन्य तरीके से।
खेल से परिचित न होने वालों के लिए, यहाँ एक सरल स्पष्टीकरण दिया गया है: दो की शक्तियां एक ग्रिड पर व्यवस्थित होती हैं, जैसे [2] [2]:। टाइलों को किसी भी दिशा में ले जाया जा सकता है, और यदि दो समान टाइलें मिलती हैं, तो वे दो की अगली शक्ति बन जाती हैं (इसलिए [2] [2]जब बाएं या दाएं चलती हैं [4])। या, आप बस यहाँ खेल की कोशिश कर सकते हैं ।
"एक अच्छा 2048 संयोजन" का क्या मतलब है? इसका मतलब किसी भी संख्या से है, अगर यह "2048" खेल में था, तो इसे एक एकल संख्या में जोड़ा जा सकता है। (शून्य का मतलब एक खाली जगह है , और ज़रूरत पड़ने पर इसे नज़रअंदाज़ किया जा सकता है।) ध्यान दें कि संख्याएँ संभवतः कई अंक हो सकती हैं! हालाँकि, संख्या को चालों के बीच नहीं बदलना चाहिए । यहाँ कुछ उदाहरण / परीक्षण मामले हैं ("गुड" के साथ एक अच्छे संयोजन का संकेत मिलता है, और "बुरा" का अर्थ अच्छा नहीं है):
- गुड: 8224 (8224 -> 844 -> 88 -> 16)
- अच्छा: 2222 (2222 -> 44 -> 8)
- अच्छा: 22048 (22048 -> 448 -> 88 -> 16)
- खराब: 20482 (बाहरी 2 को जोड़ नहीं सकता है, न ही आप 2048 और 2 को जोड़ सकते हैं)
- अच्छा: 20482048 (20482048 -> 4096)
- खराब: 210241024 (210241024 -> 22048, लेकिन यह अब [2] [2048] है और इसे जोड़ा नहीं जा सकता क्योंकि संख्याओं के बीच परिवर्तन नहीं हो सकता)
- अच्छा: 2048 (यह पहले से ही एक नंबर है)
- खराब: 2047 (यह 2 की शक्ति नहीं है)
- खराब: 11 (खेल में कोई 1 नहीं हैं)
- अच्छा: 000040000000 (शून्य खाली स्थान हैं)
विविध नियम:
- इनपुट कहीं से भी उचित हो सकता है, यानी STDIN, फ़ंक्शन तर्क, फ़ाइल आदि।
- आउटपुट कहीं भी उचित हो सकता है, यानी STDOUT, फ़ंक्शन रिटर्न वैल्यू, फ़ाइल आदि।
- ग्रिड आकार पर ध्यान न दें -
22222222अभी भी आउटपुट सही होना चाहिए। - जब तक संख्या दो हो सकती है, तब तक यह अधिकतम नहीं है। इसलिए संभावित संख्या 0 से अधिक दो की कोई शक्ति है।
- शून्य के बारे में चिंतित लोगों के लिए अस्पष्टता का कारण बनता है, यह मामला नहीं है। उदाहरण के लिए, या
22048तो पार्स किया जा सकता है[2] [2048]या[2] [2] [0] [4] [8]। पहला काम नहीं करता है, लेकिन दूसरा करता है, इसलिए यह सच होना चाहिए। - यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीत जाएगा!
22048कि आउटपुट होना चाहिए goodलेकिन यह सच नहीं है। आप के 2साथ गठबंधन कर सकते हैं 2048और ग्रिड है 4x4अगर सभी नंबर अलग होना चाहिए तो आपको 5 सेल मिलेंगे। तो शायद आपको हटा देना चाहिए 0? इसके अलावा आपका 5 वां उदाहरण अवैध लगता है क्योंकि खेल बंद हो जाता है 2048:)
1