Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में लक्ष्य तक पहुंचने के लिए दिए गए ऑपरेशन्स की आवश्यक संख्या खोजने का प्रोग्राम


मान लीजिए हमारे पास start और end दो मान हैं, हमें start को end में बदलने के लिए आवश्यक न्यूनतम ऑपरेशन्स की संख्या ढूंढनी है इन ऑपरेशन्स का उपयोग करके:

  • 1 से घटाएं
  • 2 से गुणा करें

तो, यदि इनपुट start = 2, end = 7 जैसा है, तो आउटपुट 3 होगा, क्योंकि हम 2 को गुणा करके 4 प्राप्त कर सकते हैं, फिर 2 से गुणा करके 8 प्राप्त कर सकते हैं और फिर 1 घटाकर 7 प्राप्त कर सकते हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

  • ans := 0
  • निम्नलिखित को अनंत रूप से करें:
    • यदि end <= start, तो ans + start - end लौटाएं
    • अन्यथा जब end विषम हो, तो end := end + 1, ans := ans + 1
    • अन्यथा, end := end / 2 का भागफल, ans := ans + 1

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

उदाहरण


class Solution:
    def solve(self, start, end):
        ans = 0
        while True:
            if end <= start:
                return ans + start - end
            elif end % 2:
                end += 1
                ans += 1
            else:
                end //= 2
                ans += 1

ob1 = Solution()
start = 2
end = 7
print(ob1.solve(start, end))

इनपुट

2, 7

आउटपुट

3
  1. - पायथन में गंतव्य तक पहुंचने के लिए ऊंचाई बढ़ाने की न्यूनतम कुल मात्रा खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक मैट्रिक्स M है जहां M[r][c] उस सेल की ऊंचाई दर्शाता है। यदि हम वर्तमान में ऊपरी बाएं कोने पर हैं और निचले दाएं कोने पर जाना चाहते हैं। हम आसन्न सेल (ऊपर, नीचे, बाएं, दाएं) पर तभी जा सकते हैं जब उस आसन्न सेल की ऊंचाई वर्तमान सेल की ऊंचाई से कम या बराबर हो। हम चलने से पहले किसी

  1. - पायथन में एक संख्या को दूसरी संख्या में बदलने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या start और एक अन्य संख्या end है (start < end), हमें start को end में बदलने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या ढूंढनी है इन संक्रियाओं का उपयोग करके: 1 से बढ़ाएं 2 से गुणा करें उदाहरण के लिए, यदि इनपुट है start = 5, end = 11, तो आउटपुट होगा 2, क्योंकि हम 2 से ग

  1. - पायथन में एक स्ट्रिंग को दूसरी स्ट्रिंग का सबस्ट्रिंग बनाने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं, हमें s के लिए आवश्यक न्यूनतम संक्रियाओं की मात्रा ढूंढनी है ताकि t, s का सबस्ट्रिंग बन जाए। अब, प्रत्येक संक्रिया में, हम s में किसी भी स्थिति को चुन सकते हैं और उस स्थिति के वर्ण को किसी अन्य वर्ण में बदल सकते हैं। उदाहरण के लिए, यदि इनपुट है s = abbpq