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

C++-এ নির্দিষ্ট ডিজিট ব্যতিত n-ডিজিট সংখ্যা গণনা

আমাদের একটি সংখ্যা n (ডিজিট সংখ্যা) এবং একটি ডিজিট digit দেওয়া আছে। কাজ হল n-ডিজিট সংখ্যাগুলোর মধ্যে যেসব সংখ্যায় digit নেই তাদের সংখ্যা বের করা।

উদাহরণ

ইনপুট: n = 2, digit = 2 → আউটপুট: 153

ব্যাখ্যা: ২-ডিজিট সংখ্যা যেগুলোতে ২ নেই: ১০, ১১, ১৩, ১৪, ... ৯৯ (নির্বাচিত) - মোট ১৫৩টি।

ইনপুট: n = 3, digit = 3 → আউটপুট: 2187

সমাধানের পদ্ধতি

  1. n এবং digit ইনপুট নিন।
  2. n-ডিজিট সংখ্যার রেঞ্জ: min = 10^(n-1) থেকে max = 10^n - 1।
  3. রেঞ্জের প্রতিটি সংখ্যার জন্য ডিজিট বাই ডিজিট চেক করুন।
  4. যদি digit না পাওয়া যায় তবে কাউন্ট বাড়ান।

প্রোগ্রাম উদাহরণ

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

int count(int n, int digit) {
    int count = 0;
    int min = (int)(pow(10, n - 1));
    int max = (int)(pow(10, n));
    
    for (int i = min; i < max; i++) {
        int a = i;
        bool found = false;
        while (a > 0) {
            int r = a % 10;
            a = a / 10;
            if (r == digit) {
                found = true;
                break;
            }
        }
        if (!found)
            count++;
    }
    return count;
}

int main() {
    int n = 2, digit = 2;
    cout << "Count of " << n << " digit numbers not having digit " 
         << digit << " is: " << count(n, digit);
    return 0;
}

আউটপুট

Count of 2 digit numbers not having a particular digit 2 is: 153
  1. C++-এ প্রতিটি উপাদানের ডানে কতগুলো ছোট সংখ্যা আছে (Count of Smaller Numbers After Self)

  2. C++-এ ১ থেকে n পর্যন্ত ৪ ডিজিট থাকা সংখ্যা গণনা (Count Numbers with Digit 4)

  3. C++-এ d-ডিজিটের ধনাত্মক পূর্ণসংখ্যা যেগুলোতে ০ ডিজিট থাকে (Count d-digit Numbers with Digit 0)

  4. 1 থেকে N পর্যন্ত অলমোস্ট প্রাইম সংখ্যার সংখ্যা বের করা C++-তে