বাইনারি ডেসিমাল = শুধু ০ ও ১ অঙ্ক கொண்ட ধনাত্মক পূর্ণসংখ্যা (যেমন ১০০১)। n কে বাইনারি ডেসিমালগুলোর যোগফল হিসেবে প্রকাশ করে ন্যূনতম কতটি লাগবে তা বের করুন।
উদাহরণ
n = 121 → আউটপুট: ২ (১১০+১১ বা ১১১+১০)
সমাধানের ধাপসমূহ
n-র প্রতিটি ডেসিমাল ডিজিটের সর্বোচ্চ মানই উত্তর। কারণ প্রতিটি ডিজিট আলাদা আলাদা বাইনারি ডেসিমাল দিয়ে কভার করা যায়।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int solve(int n) {
int ans = -1;
while (n > 0) {
ans = max(ans, n % 10);
n /= 10;
}
return ans;
}
int main() {
int n = 121;
cout << solve(n) << endl;
return 0;
}
ইনপুট
121
আউটপুট
2
ব্যাখ্যা
121-র ডিজিটগুলো: ১, ২, ১। সর্বোচ্চ = ২। তাই ন্যূনতম ২টি বাইনারি ডেসিমাল লাগবে।