"फ़िट नंबर"
सैम के पास संपीड़न के लिए एक "शानदार" विचार है! क्या आप मदद कर सकते हैं?
यहाँ सैम की संपीड़न योजना का एक हिस्सा है। पहले किसी भी प्राकृतिक संख्या के आधार 10 प्रतिनिधित्व को कड़ाई से 2 ^ 16 से छोटा करें, और इसे बिना किसी अग्रणी शून्य के द्विआधारी स्ट्रिंग के रूप में लिखें।
1 -> 1 9 -> 1001 15 -> 1111 13 -> 1101 16 -> 10000 17 -> 10001 65535 -> 111111111111111
अब एक या अधिक शून्य के किसी भी समूह को एक शून्य के साथ बदलें। ऐसा इसलिए है क्योंकि संख्या झुक गई है। अब आपका बाइनरी स्ट्रिंग इस तरह दिखेगा।
1 -> 1 -> 1 9 -> 1001 -> 101 15 -> 1111 -> 1111 13 -> 1101 -> 1101 16 -> 10000 -> 10 17 -> 10001 -> 101 65535 -> 111111111111111 -> 111111111111111
अब आप बाइनरी स्ट्रिंग को आधार 10 प्रतिनिधित्व में परिवर्तित करते हैं, और इसे किसी भी स्वीकार्य प्रारूप में आउटपुट करते हैं। यहां आपके परीक्षण के मामले हैं। पहला पूर्णांक एक इनपुट का प्रतिनिधित्व करता है, और अंतिम पूर्णांक एक आउटपुट का प्रतिनिधित्व करता है। ध्यान दें कि कुछ संख्याएं नहीं बदलती हैं, और इस प्रकार "फिट" कहा जा सकता है
1 -> 1 -> 1 -> 1 9 -> 1001 -> 101 -> 5 15 -> 1111 -> 1111 -> 15 13 -> 1101 -> 1101 -> 13 16 -> 10000 -> 10 -> 2 17 -> 10001 -> 101 -> 5 65535 -> 1111111111111111 -> 1111111111111111 -> 65535 65000 -> 1111110111101000 -> 11111101111010 -> 16250
आप किसी भी भाषा का उपयोग कर सकते हैं, लेकिन कृपया ध्यान दें कि सैम मानक खामियों से नफरत करता है। यह कोड गोल्फ है इसलिए कोड "संपीड़ित" संख्याओं के लिए जगह बनाने के लिए जितना संभव हो उतना कम हो सकता है।
नोट: यह स्वीकार्य संपीड़न योजना नहीं है। इसके उपयोग से आपको तुरंत निकाल दिया जाएगा।
उद्धरण-आवश्यकता: मैं इस अवधारणा का श्रेय नहीं लेता। यह @Conor O 'Brien के ब्लॉग से आता है यहाँ इस OEIS को फिट नंबरों के साथ देखें। https://oeis.org/A090078
10000
?