আমাদের একটি সংখ্যা n (ডিজিট সংখ্যা) এবং একটি ডিজিট digit দেওয়া আছে। কাজ হল n-ডিজিট সংখ্যাগুলোর মধ্যে যেসব সংখ্যায় digit নেই তাদের সংখ্যা বের করা।
উদাহরণ
ইনপুট: n = 2, digit = 2 → আউটপুট: 153
ব্যাখ্যা: ২-ডিজিট সংখ্যা যেগুলোতে ২ নেই: ১০, ১১, ১৩, ১৪, ... ৯৯ (নির্বাচিত) - মোট ১৫৩টি।
ইনপুট: n = 3, digit = 3 → আউটপুট: 2187
সমাধানের পদ্ধতি
nএবংdigitইনপুট নিন।n-ডিজিট সংখ্যার রেঞ্জ:min = 10^(n-1)থেকেmax = 10^n - 1।- রেঞ্জের প্রতিটি সংখ্যার জন্য ডিজিট বাই ডিজিট চেক করুন।
- যদি
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