ধরুন আমাদের স্ট্রিং ফরম্যাটে একটি সংখ্যা 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