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

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


মনে করুন n নামক একটি সংখ্যা স্ট্রিং ফরম্যাটে আছে। আমাদের ন্যূনতম কতগুলো ডেসি-বাইনারি সংখ্যা দরকার যাতে তাদের যোগফল n-র সমান হয়। একটি ডেসি-বাইনারি সংখ্যা হলো একটি দশমিক সংখ্যা যের ডিজিটগুলো শুধু ০ বা ১।

যেমন, ইনপুট n = "132" হলে, আউটপুট হবে ৩ কারণ 132 = 10 + 11 + 111 (তিনটি ডেসি-বাইনারি সংখ্যা)।

সমাধান পদ্ধতি

এই সমস্যাটি সমাধান করতে নিচের ধাপগুলো অনুসরণ করুন:

  • result := 1
  • n-এ থাকা প্রতিটি i-এর জন্য
    • যদি i {0,1}-এ না থাকে, তবে
      • result := max(result, int(i))
  • result রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন আরও ভালো বোঝার জন্য:

 def solve(n):    result = 1    for i in n:       if i not in {0,1}:          result = max(result, int(i))    return result n = "132" print(solve(n))

ইনপুট

132 

আউটপুট

3

  1. Python দিয়ে বাইনারি গ্রিড সাজাতে মিনিমাম সোয়াপ বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম দিয়ে দশমিক সংখ্যাকে বাইনারি নম্বরে রূপান্তর

  3. কনসিকিউটিভ ১ ছাড়া বাইনারি স্ট্রিংয়ের সংখ্যা গণনা করার পাইথন প্রোগ্রাম

  4. পাইথনে ডেসিমেল থেকে বাইনারি নম্বর কনভার্ট করা