ধরুন আমাদের স্ট্রিং ফরম্যাটে একটি সংখ্যা n আছে। আমাদের ন্যূনতম ডিসি-বাইনারী সংখ্যাগুলি খুঁজে বের করতে হবে, যাতে যার যোগফল n এর সমান হয়। একটি ডেসি-বাইনারী সংখ্যা হল একটি দশমিক সংখ্যা যার সংখ্যা হয় 0 বা 1৷
সুতরাং, যদি ইনপুটটি n ="132" এর মত হয়, তাহলে আউটপুট হবে 3 কারণ 132 হল তিনটি ডেসিবিনারি সংখ্যার সমষ্টি (10 + 11 + 111)।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- ফলাফল :=1
- n এর প্রতিটি i এর জন্য, কর
- যদি আমি {0,1}-এ না থাকি, তাহলে
- ফলাফল :=সর্বোচ্চ ফলাফল এবং i
- যদি আমি {0,1}-এ না থাকি, তাহলে
- ফলাফল
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
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