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

C++ প্রোগ্রাম: n কে বাইনারি ডেসিমাল যোগফলে বিয়োগের ন্যূনতম সংখ্যা

বাইনারি ডেসিমাল = শুধু ০ ও ১ অঙ্ক கொண்ட ধনাত্মক পূর্ণসংখ্যা (যেমন ১০০১)। 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-র ডিজিটগুলো: ১, ২, ১। সর্বোচ্চ = ২। তাই ন্যূনতম ২টি বাইনারি ডেসিমাল লাগবে।

  1. বাইনারি ম্যাট্রিক্স কে শূন্য ম্যাট্রিক্সে রূপান্তরের অপারেশন গণনা (C++ প্রোগ্রাম)

  2. ১ থেকে N পর্যন্ত শূন্য অঙ্ক থাকা সংখ্যাগুলি গণনা C++-এ

  3. C++-এ n-ডিজিট সংখ্যা যেগুলো দেওয়া সংখ্যা দিয়ে বিভাজ্য

  4. অক্টাল সংখ্যা বাইনারি সংখ্যায় রূপান্তর করার C++ প্রোগ্রাম