एक रूटीन बनाएं जो एक संख्यात्मक आधार प्रणाली में ब्लॉक की एक सरणी लेता है, और उन्हें अन्य संख्यात्मक आधार प्रणाली में ब्लॉक के एक सरणी में परिवर्तित करता है। दोनों से और सिस्टम से मनमानी होती है और इसे एक पैरामीटर के रूप में स्वीकार किया जाना चाहिए। इनपुट सरणी एक मनमानी लंबाई हो सकती है (यदि ऐसी भाषा का उपयोग करना जहां सरणी लंबाई सरणी के साथ संग्रहीत नहीं है, जैसे कि सी, एक लंबाई पैरामीटर फ़ंक्शन को पास किया जाना चाहिए)।
यहां बताया गया है कि यह कैसे काम करना चाहिए:
fromArray = [1, 1]
fromBase = 256
toBase = 16
result = convertBase(fromArray, fromBase, toBase);
जो लौटाना चाहिए [0, 1, 0, 1]
या संभावित रूप से [1, 0, 1]
(अग्रणी 0
s वैकल्पिक हैं क्योंकि वे उत्तर का मूल्य नहीं बदलते हैं)।
यहाँ कुछ परीक्षण वैक्टर हैं:
आइडेंटिटी टेस्ट वेक्टर
fromArray = [1, 2, 3, 4] fromBase = 16 toBase = 16 result = [1, 2, 3, 4]
ट्रिवियल टेस्ट वेक्टर
fromArray = [1, 0] fromBase = 10 toBase = 100 result = [10]
बड़ा टेस्ट वेक्टर
fromArray = [41, 15, 156, 123, 254, 156, 141, 2, 24] fromBase = 256 toBase = 16 result = [2, 9, 0, 15, 9, 12, 7, 11, 15, 14, 9, 12, 8, 13, 0, 2, 1, 8]
रियली बिग टेस्ट वेक्टर
fromArray = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] fromBase = 2 toBase = 10 result = [1, 2, 3, 7, 9, 4, 0, 0, 3, 9, 2, 8, 5, 3, 8, 0, 2, 7, 4, 8, 9, 9, 1, 2, 4, 2, 2, 3]
नॉन-बेस बेस वेक्टर
fromArray = [41, 42, 43] fromBase = 256 toBase = 36 result = [1, 21, 29, 22, 3]
अन्य मानदंड / नियम:
सभी पूर्णांक चर सभी साने इनपुट श्रेणियों के लिए एक मानक 32 बिट हस्ताक्षरित पूर्णांक के भीतर फिट होने चाहिए।
आप एक मध्यस्थ प्रतिनिधित्व में परिवर्तित कर सकते हैं, जब तक कि मध्यस्थ 32 बिट हस्ताक्षरित पूर्णांकों की एक सरणी से अधिक कुछ नहीं है।
256 के माध्यम से 2 से अड्डों को संभालने की अपेक्षा करें। इससे अधिक आधारों का समर्थन करने की कोई आवश्यकता नहीं है (लेकिन यदि आप हर तरह से चाहते हैं)।
कम से कम 1000 तत्वों तक इनपुट और आउटपुट आकार को संभालने की अपेक्षा करें । एक समाधान जो 2 ^ 32-1 तत्वों के लिए तराजू बेहतर होगा, लेकिन 1000 बस ठीक है।
यह जरूरी नहीं कि सबसे छोटा कोड हो जो इन नियमों को पूरा करेगा। यह सबसे साफ और सबसे सुंदर कोड होने के बारे में है।
अब, यह करने के लिए बिल्कुल तुच्छ नहीं है, इसलिए एक जवाब जो लगभग काम करता है स्वीकार किया जा सकता है!