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

সি++-এ ১, ২, ৩, ৪ অঙ্ক দিয়ে বने n-তম সংখ্যার অঙ্ক সংখ্যা বের করা

আমাদের ১, ২, ৩, ৪ এই চার অঙ্ক দিয়ে বने সিরিজের n-তম সংখ্যাতে কতটি অঙ্ক আছে তা বের করতে হবে।

সিরিজ: ১, ২, ৩, ৪, ১১, ১২, ১৩, ১৪, ২১, ২২, ২৩, ২৪, ...

প্যাট্রন:

  • ১ অঙ্কের সংখ্যা: ৪টি (৪¹)
  • ২ অঙ্কের সংখ্যা: ১৬টি (৪²)
  • ৩ অঙ্কের সংখ্যা: ৬৪টি (৪³)
  • এভাবে ৪-এর ঘাতের ক্রমে বাড়ে।

উদাহরণ

ইনপুট: 7 → আউটপুট: 2 (৭তম সংখ্যা হলো ১৩, যার ২টি অঙ্ক)

অ্যালগরিদম

  • n ইনিশিয়ালাইজ করুন।
  • result = 1 (অঙ্ক সংখ্যা), sum = 0 (মোট সংখ্যা গণনা)।
  • লুপ চালান i = 4 থেকে, প্রতি ধাপে i *= 4।
  • sum += i করুন।
  • যদি sum >= n হয়, ব্রেক করুন।
  • অন্যথায় result++ করুন (পরের সেটে ১টা বেশি অঙ্ক হবে)।
  • result ফেরত দিন।

সি++ ইমপ্লিমেন্টেশন

#include <bits/stdc++.h>
using namespace std;

int getDigitsCount(int n) {
    int result = 1, sum = 0;
    for (int i = 4; ; i *= 4) {
        sum += i;
        if (sum >= n) break;
        result++;
    }
    return result;
}

int main() {
    int n = 57;
    cout << getDigitsCount(n) << endl;
    return 0;
}

আউটপুট

3
  1. C++-এ একটি সংখ্যা তার অঙ্কগুলোর ফ্যাক্টোরিয়ালের যোগফল দিয়ে বিভাজ্য কিনা চেক করা

  2. C++ প্রোগ্রাম: স্ট্রিংয়ের পারমুটেশন সংখ্যা বের করা

  3. C প্রোগ্রাম: একক স্টেটমেন্টে দত্তক সংখ্যার অঙ্কগুলোর যোগফল বের করা

  4. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা