हमें इनपुट के रूप में एक संख्या N दी गई है। लक्ष्य उन N-अंकीय संख्याओं को ढूंढना है जिनमें विषम संख्या में 0's अंक के रूप में हों। संख्या में अग्रणी शून्य भी हो सकते हैं जैसे N=3 के मामले में शामिल संख्याएँ होंगी 000, 011, 012... 990।
उदाहरण सहित समझ
इनपुट - N=3
आउटपुट - N अंकों वाली उन संख्याओं की संख्या जिनमें सम संख्या में 0's हैं: 244
व्याख्या - सभी 3 अंकों की संख्याएँ इस तरह होंगी:
सबसे छोटी 000 होगी, फिर 011, 012, 013, 0014... उच्चतम 990 होगी।
इनपुट - N=5
आउटपुट - N अंकों वाली उन संख्याओं की संख्या जिनमें सम संख्या में 0's हैं: 33616
व्याख्या - सभी 5 अंकों की संख्याएँ इस तरह होंगी:
सबसे छोटी 00000 होगी, फिर 00011, 00012, 00013, 0014... उच्चतम 99990 होगी।
प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम पहले कुल N-अंकीय संख्याओं की गणना करेंगे जो T = 10^N - 1 हैं। फिर सम 0's वाली सभी N-अंकीय संख्याओं की गणना करेंगे, जो E = 10^N - 8^N है। विषम 0's वाली शेष संख्याएँ (T - E) / 2 होंगी।
- इनपुट के रूप में एक पूर्णांक
Nलें। - फंक्शन
count_odd(int N)Nलेता है और विषम 0's वाली N-अंकीय संख्याओं की संख्या लौटाता है। - कुल N-अंकीय संख्याएँ
total = pow(10, N)हैं। - अंकों में सम 0's वाली कुल N-अंकीय संख्याएँ
even = pow(10, N) - pow(8, N)हैं। - अंकों में विषम 0's वाली शेष संख्याएँ
odd = (total - even) / 2हैं। - विषम संख्या में 0's वाली N-अंकीय संख्याओं की संख्या के रूप में
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