एक पूर्णांक N को देखते हुए, कार्य संख्या में दिखाई देने वाले सभी 0 को '5' से बदलना है। हालाँकि, अग्रणी '0' वाली संख्या को '5' से बदला नहीं जा सकता क्योंकि यह अपरिवर्तित रहती है। उदाहरण के लिए,
इनपुट-1 -
N = 1007
आउटपुट -
1557
स्पष्टीकरण - दी गई संख्या में 2 शून्य हैं, जिसे '5' से बदलने पर परिणाम 1557 के रूप में आता है।
इनपुट-2 -
N = 00105
आउटपुट -
155
स्पष्टीकरण - चूंकि दी गई संख्या अग्रणी '0' से शुरू होती है जिसे अनदेखा किया जा सकता है और 0 को बीच में '5' से बदलने के बाद आउटपुट 155 के रूप में परिणाम देता है।
इस समस्या को हल करने का तरीका
दी गई संख्या में सभी 0 को '5' से बदलने के लिए हम संख्या के अंतिम अंक को ढूंढ और निकाल सकते हैं। यदि उस संख्या का अंतिम अंक '0' है तो मान को बदलकर '5' करें और दूसरा अंक निकालें। हालांकि, दी गई संख्या में किसी भी अग्रणी '0' को अनदेखा किया जाना चाहिए। इस प्रकार हम पहले अंतिम अंक निकालेंगे और फिर उस संख्या के दूसरे अंक को निकालते समय उसी फ़ंक्शन को फिर से कॉल करेंगे।
-
इनपुट नंबर N लें।
-
एक पूर्णांक फ़ंक्शन ConvertToFive(int N) इनपुट के रूप में एक संख्या लेता है और सभी 0 को '5' से बदलकर संशोधित संख्या देता है।
-
यदि संख्या का अंतिम अंक '0' है तो मान को '5' से बदलें।
-
रिकर्सिव फ़ंक्शन लौटाएं जो '10' को विभाजित करके और '10' से गुणा करके संख्या का एक और अंक लेता है।
-
वह आउटपुट लौटाएं जो उसमें जोड़कर अंतिम अंक निकालता है।
उदाहरण
def convertToFive(number): number += calculateAddedValue(number) return number def calculateValue(number): result = 0 placeValu = 1 if (number == 0): result += (5 * placeValue) while (number > 0): if (number % 10 == 0): result += (5 * placeValue) number //= 10 placeValue *= 10 return result print(covertToFive(14006))
आउटपुट
उपरोक्त कोड को चलाने से आउटपुट इस प्रकार उत्पन्न होगा,
14556
चूंकि दो 0 हैं दी गई संख्या में, संख्या 14006 के स्थान पर यह 14556 हो जाएगी।