हमें एक संख्या दी गई है, मान लीजिए, संख्या और एक पूर्णांक प्रकार चर में संग्रहीत अंकों की कुल संख्या मान लीजिए, डिजी और कार्य उन n अंकों की संख्या की गणना करना है जिन्हें बनाया जा सकता है जहां दिया गया अंक नहीं है।
इनपुट - n =2, अंक =2
आउटपुट - गिनती 153 है
स्पष्टीकरण - सभी दो अंकों की संख्या (एन) जिसमें अंक 2 नहीं है, की संख्या 153 है जैसे कि 10, 11, 13, 14, 15, 16, 17, 18, 19, 30, 31, 33, 34, .... ,आदि.
इनपुट − n =3, अंक =3
आउटपुट - गिनती 2187 है
स्पष्टीकरण - सभी तीन अंकों की संख्या (एन) जिसमें अंक 3 नहीं है, की संख्या 2187 है जैसे 10, 11, 13, 14, 15, 16, 17, 18, 19, 30, 31, 33, 34, .... ,आदि.
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
संख्या 'n' और अंक को पूर्णांक चर के रूप में इनपुट करें
-
इन वेरिएबल्स को एक ऐसे फंक्शन में पास करें जो एक काउंट ऑपरेशन करेगा
-
दो चर न्यूनतम और अधिकतम मान सेट करें, जिस तक 'n' पहुंच सकता है। उदाहरण के लिए, एक दो अंकों की संख्या 10 के न्यूनतम मान से शुरू होती है और 99 तक समाप्त होती है, इसी तरह, 3 अंकों की संख्या न्यूनतम 100 से 999 तक शुरू होती है।
-
लूप को न्यूनतम से अधिकतम तक प्रारंभ करें
-
लूप के अंदर, तब तक शुरू करें जब तक 'n' 0 से बड़ा न हो जाए
-
जांचें कि नंबर है या नहीं। यदि संख्या है तो कोई कार्रवाई न करें और यदि संख्या नहीं है तो गिनती में 1 की वृद्धि करें।
उदाहरण
#include<bits/stdc++.h> using namespace std; int count(int n, int digit){ int r =0; int count = 0; //calculate the min and max of the given number int min = (int)(pow(10, n-1)); int max = (int)(pow(10, n)); //start the loop till max value start from min for(int i=min; i<max; i++){ int a=i; int f=0; //while a is greater than 0 while(a>0){ r=a%10; a=a/10; if(r==digit){ f++; } if(f==0){ count++; } } } return count; } int main(){ int n = 2, digit = 2; cout<<"Count of "<<n<< digit numbers not having a particular digit "<<digit<<" is :"<<count(n, digit); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -
Count of 2 digit numbers not having a particular digit 2 is :153