परिचय
इस चुनौती के लिए आपको एक पूर्णांक बाइनरी प्रतिनिधित्व के अनुगामी शून्य को सेट करना होगा 010101…
, यह एक उदाहरण के साथ सबसे अच्छा समझाया गया है:
पूर्णांक को देखते हुए 400
, पहला कदम इसे बाइनरी में बदलना है:
110010000
जैसा कि हम देख सकते हैं कि पांचवीं बिट सबसे कम महत्वपूर्ण 1
बिट है, इसलिए वहां से शुरू करके हम निम्न शून्य को प्रतिस्थापित करते हैं 0101
:
110010101
अंत में हम उसे दशमलव में बदल देते हैं: 405
चुनौती
एक सकारात्मक पूर्णांक रिटर्न / उत्पादन को देखते हुए उपरोक्त परिभाषित प्रक्रिया के परिणामी मूल्य।
नियम
- यह अनुक्रम केवल कम से कम एक
1
बिट के साथ पूर्णांकों के लिए परिभाषित किया गया है , इसलिए इनपुट हमेशा for 1 होगा - आप इसके बजाय एक स्ट्रिंग, अंकों की सूची (दशमलव) के रूप में इनपुट ले सकते हैं
- आपको अमान्य इनपुट को संभालना नहीं है
परीक्षण के मामलों
यहाँ मध्यस्थ चरणों के साथ कुछ और टेस्टकेस हैं (आपको इन्हें प्रिंट / वापस करने की आवश्यकता नहीं है):
In -> … -> … -> Out
1 -> 1 -> 1 -> 1
2 -> 10 -> 10 -> 2
3 -> 11 -> 11 -> 3
4 -> 100 -> 101 -> 5
24 -> 11000 -> 11010 -> 26
29 -> 11101 -> 11101 -> 29
32 -> 100000 -> 101010 -> 42
192 -> 11000000 -> 11010101 -> 213
400 -> 110010000 -> 110010101 -> 405
298 -> 100101010 -> 100101010 -> 298
n
इनपुट को विभाजित करने वाली 2 की अधिकतम शक्ति है, तो इसका उत्तर केवल है(input) + ceil((2^n - 2)/3)