मान लीजिए कि एक दशमलव संख्या को उसके हेक्सस्पीक प्रतिनिधित्व में परिवर्तित किया जा सकता है, इसे पहले एक अपरकेस हेक्साडेसिमल स्ट्रिंग में परिवर्तित किया जा सकता है, उसके बाद अंक 0 की सभी घटनाओं को अक्षर O और अंक के साथ बदल दिया जाता है। 1 अक्षर I के साथ।
इस प्रकार का प्रतिनिधित्व तभी मान्य होता है जब इसमें केवल सेट {"A", "B", "C", "D", "E", "F", "I", "O" के अक्षर हों। "}.
तो हमारे पास एक दशमलव पूर्णांक एन का प्रतिनिधित्व करने वाली एक स्ट्रिंग संख्या है, हमें सही होने पर एन के हेक्सस्पीक प्रतिनिधित्व को ढूंढना होगा, अन्यथा "त्रुटि" वापस कर दें। तो अगर num ="257", तो आउटपुट "IOI" होगा क्योंकि 257 हेक्साडेसिमल में 101 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- x :=अंकों का हेक्स प्रारूप
- उत्तर:=एक खाली स्ट्रिंग
- एक शब्दकोश बनाएं, और संख्याएं डालें (10:'ए', 11:'बी', 12:'सी', 13:'डी', 14:'ई', 15:'एफ', 1 :'मैं', 0:'ओ')
- x −
- . में प्रत्येक वर्ण i के लिए
- अगर मैं d में हूं, तो ans :=ans + d[i], अन्यथा "ERROR" लौटाएं
- वापसी उत्तर
उदाहरण
एक बेहतर समझ प्राप्त करने के लिए आइए निम्नलिखित कार्यान्वयन को देखें -
class Solution(object):
def convertToHex(self, n):
res = []
while n > 0:
res.append(n % 16)
n //= 16
return res[::-1]
def toHexspeak(self, num):
x = self.convertToHex(int(num))
ans = ""
d = {10:"A", 11:"B", 12:"C", 13:"D", 14:"E", 15:"F",0:"O",1:"I"}
for i in x:
if i in d:
ans += d[i]
else:
return "ERROR"
return ans
ob1 = Solution()
print(ob1.toHexspeak("659724")) इनपुट
"659724"
आउटपुट
"AIIOC"