আমাদের একটি সংখ্যা N ইনপুট হিসেবে দেওয়া আছে। লক্ষ্য হলো এমন সব N-ডিজিটের সংখ্যা বের করা যাতে শূন্য (০) এর সংখ্যা জোড় (even) হয়। সংখ্যাগুলোতে অগ্রগামী শূন্যও থাকতে পারে, যেমন N=3 হলে 001, 002, 003... 010... ইত্যাদি।
উদাহরণ দিয়ে বুঝি
ইনপুট − N=4
আউটপুট − N ডিজিটের জোড় শূন্য বিশিষ্ট সংখ্যা: ৭০৪৭
ব্যাখ্যা − সব ৪ ডিজিটের সংখ্যা: ০০০০, ০০১১, ০০১২, ০০১৩... ৯৯০০।
ইনপুট − N=5
আউটপুট − N ডিজিটের জোড় শূন্য বিশিষ্ট সংখ্যা: ৬৬৩৮৩
ব্যাখ্যা − সব ৫ ডিজিটের সংখ্যা: ০০০০১, ০০০০২, ০০০০৩... ৯৯৯০০।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
প্রথমে মোট N-ডিজিটের সংখ্যা T = 10^N - 1। তারপর বিজোড় শূন্য বিশিষ্ট N-ডিজিট সংখ্যা O = 10^N - 8^N। বাকি জোড় শূন্য বিশিষ্ট সংখ্যা T - O/2। (নোট: কোডে ফর্মুলা একটু ভিন্ন, নিচে দেখুন।)
- ইন্টিজার
Nইনপুট নিন। count_even(int N)ফাংশনNনিয়ে জোড় শূন্য বিশিষ্টN-ডিজিট সংখ্যা রিটার্ন করে।- মোট
N-ডিজিট সংখ্যা:total = pow(10, N) - 1। - বিজোড় শূন্য বিশিষ্ট:
odd = pow(10, N) - pow(8, N)। - জোড় শূন্য:
even = total - odd / 2। evenরিটার্ন করুন।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int count_even(int N) {
int total = pow(10, N) - 1;
int odd = pow(10, N) - pow(8, N);
int even = total - odd / 2;
return even;
}
int main() {
int N = 3;
cout << "Count of Numbers with N digits which consists of even number of 0's are: " << count_even(N);
return 0;
}
আউটপুট
Count of Numbers with N digits which consists of even number of 0's are: 755