কম্পিউটার টিউটোরিয়াল

পাইথনে একটি সংখ্যাকে অন্য সংখ্যায় রূপান্তর করার ন্যূনতম অপারেশন বের করার প্রোগ্রাম


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

  • 1 से बढ़ाएं
  • 2 से गुणा करें

उदाहरण के लिए, यदि इनपुट है start = 5, end = 11, तो आउटपुट होगा 2, क्योंकि हम 2 से गुणा करके 10 प्राप्त कर सकते हैं, फिर 1 जोड़कर 11 प्राप्त कर सकते हैं।

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

  • ct := 0
  • जब तक end/2 >= start, करें
    • यदि end mod 2, 1 के समान है, तो
      • end := end - 1
      • end := end/2
      • ct := ct + 2
    • अन्यथा,
      • end := end/2
      • ct := ct + 1
  • ct := ct + (end-start)
  • ct वापस करें

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

उदाहरण

class Solution:    def solve(self, start, end):       ct=0       while(end/2>=start):          if end%2==1:             end-=1             end=end/2             ct+=2          else:             end=end/2             ct+=1       ct+=(end-start)       return ct ob = Solution() print(ob.solve(5,11))

इनपुट

5,11

आउटपुट

2

  1. পাইথনে 'A' গুলো 'B' গুলোর আগে আনতে ন্যূনতম ক্যারেক্টার ডিলিট করার প্রোগ্রাম

  2. পাইথনে স্ট্রার্ট থেকে এন্ড পৌঁছানোর ন্যূনতম অপারেশন (x2 বা -1)

  3. পাইথনে লিস্ট ব্যালেন্সড করতে ডিলিশনের ন্যূনতম সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে স্ট্রিং s-কে পরিবর্তন করে t কে সাবস্ট্রিং बनानेয় ন্যূনতম অপারেশন বের করার প্রোগ্রাম