আমাদের দুটি ইনপুট দেওয়া আছে: d (ডিজিট সংখ্যা) এবং num (ভাজক)। কাজ হল d-ডিজিট সংখ্যাগুলোর মধ্যে কতগুলো num দিয়ে বিভাজ্য তা বের করা।
উদাহরণ
ইনপুট: digit = 2, num = 12 → আউটপুট: 8
ব্যাখ্যা: ২-ডিজিট সংখ্যা যেগুলো ১২ দিয়ে বিভাজ্য: ১২, ২৪, ৩৬, ৪৮, ৬০, ৭২, ৮৪, ৯৬।
ইনপুট: digit = 2, num = 9 → আউটপুট: 10
ব্যাখ্যা: ১৮, ২৭, ৩৬, ৪৫, ৫৪, ৬৩, ৭২, ৮১, ৯০, ৯৯।
সমাধানের পদ্ধতি
digitএবংnumইনপুট নিন।digi_first = 10^(digit-1)(সর্বনিম্ন d-ডিজিট সংখ্যা)।digi_last = 10^digit - 1(সর্বোচ্চ d-ডিজিট সংখ্যা)।- প্রথম বিভাজ্য সংখ্যা:
digi_first + (num - digi_first % num) % num। - শেষ বিভাজ্য সংখ্যা:
digi_last - digi_last % num। - গণনা:
((last - first) / num) + 1।
প্রোগ্রাম উদাহরণ
#include <cmath>
#include <iostream>
using namespace std;
int main() {
int digit = 2, num = 9;
int count = 0;
int digi_first = pow(10, digit - 1);
int digi_last = pow(10, digit);
int d_first = digi_first % num;
int d_last = digi_last % num;
digi_first = (digi_first - d_first) + num;
digi_last = digi_last - d_last;
count = ((digi_last - digi_first) / num + 1);
cout << "Count of n digit numbers divisible by given number: " << count << "\n";
return 0;
}
আউটপুট
Count of n digit numbers divisible by given number: 10