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