हमें इनपुट के रूप में एक संख्या N दी गई है। लक्ष्य उन N-अंकीय संख्याओं को ढूंढना है जिनमें सम संख्या में 0's अंक के रूप में हों। संख्या में अग्रणी शून्य भी हो सकते हैं जैसे N=3 के मामले में शामिल संख्याएँ होंगी 001, 002, 003... 010... आदि।
उदाहरण सहित समझ
इनपुट - N=4
आउटपुट - N अंकों वाली उन संख्याओं की संख्या जिनमें सम संख्या में 0's हैं: 7047
व्याख्या - सभी 4 अंकों की संख्याएँ इस तरह होंगी:
सबसे छोटी 0000 होगी, फिर 0011, 0012, 0013, 0014... उच्चतम 9900 होगी।
इनपुट - N=5
आउटपुट - N अंकों वाली उन संख्याओं की संख्या जिनमें सम संख्या में 0's हैं: 66383
व्याख्या - सभी 5 अंकों की संख्याएँ इस तरह होंगी:
सबसे छोटी 00001 होगी, फिर 00002, 00003, 00004... उच्चतम 99900 होगी।
प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम पहले कुल N-अंकीय संख्याओं की गणना करेंगे जो T = 10^N - 1 हैं। फिर विषम 0's वाली सभी N-अंकीय संख्याओं की गणना करेंगे, जो O = 10^N - 8^N है। अंकों में सम 0's वाली शेष संख्याएँ T - O/2 होंगी।
- इनपुट के रूप में एक पूर्णांक
Nलें। - फंक्शन
count_even(int N)Nलेता है और सम 0's वाली N-अंकीय संख्याओं की संख्या लौटाता है। - कुल N-अंकीय संख्याएँ
total = pow(10, N) - 1हैं। - अंकों में विषम 0's वाली कुल N-अंकीय संख्याएँ
odd = pow(10, N) - pow(8, N)हैं। - अंकों में सम 0's वाली शेष संख्याएँ
even = total - odd / 2हैं। - सम संख्या में 0's वाली N-अंकीय संख्याओं की संख्या के रूप में
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