हमें दो तत्व दिए गए हैं मान लीजिए, d और num, कार्य d अंकों की संख्याओं को खोजना है जो संख्या से विभाज्य हैं।
सरल शब्दों में मान लें कि हमने d में एक इनपुट 2 दिया है, तो हम पहले सभी 2-अंकीय संख्याएँ यानी 10-99 से खोजेंगे और फिर वे सभी संख्याएँ ज्ञात करेंगे जो संख्या से विभाज्य हैं।
आइए उदाहरणों की मदद से इसे और समझते हैं -
इनपुट - अंक =2, अंक =12
आउटपुट − दी गई संख्या से विभाज्य n अंकों की संख्या की संख्या:8
स्पष्टीकरण - 12 से विभाज्य दो अंकों की संख्याएं 12, 24, 36, 48, 60, 72, 84 और 96 हैं, इसलिए 8 2 अंकों की संख्याएं 12 से विभाज्य हैं।
इनपुट - अंक =2, अंक =9
आउटपुट − दी गई संख्या से विभाज्य n अंकों की संख्याओं की संख्या − 10
स्पष्टीकरण - 9 से विभाज्य 2 अंकों की संख्याएँ 18, 27, 36, 45, 54, 63, 72, 81, 90 और 99 हैं, इसलिए 10 दो अंकों की संख्याएँ 9 से विभाज्य हैं।
निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है
-
तत्व अंक और संख्या को इनपुट के रूप में लें।
-
संख्या से विभाज्य अंकों की संख्या गिनने के लिए एक चर गणना को 0 के रूप में निर्दिष्ट करें।
-
डिक्लेयर करें और डिजी_फर्स्ट को पाउ के रूप में सेट करें(10, अंक - 1)
-
डिक्लेयर करें और digi_last को pow(10, digit) पर सेट करें
-
अब घोषित करें और d_first को digi_first% num और d_last को digi_last% num के रूप में सेट करें
-
d_first और d_last खोजने के बाद, digi_first को (digi_first - d_first) + num और digi_last को digi_last - d_last
के रूप में सेट करें -
अब गिनती को ((digi_last - digi_first) / num + 1) पर सेट करें।
-
वापसी और प्रिंट गिनती।
उदाहरण
#include <cmath> #include <iostream> using namespace std; int main(){ int digit = 2 , num = 9; //store the count int count= 0 ; int digi_first = pow(10, digit - 1); int digi_last = pow(10, digit); int d_first = digi_first % num; int d_last = digi_last % num; digi_first = (digi_first - d_first) + num; digi_last = digi_last - d_last; count = ((digi_last - digi_first) / num + 1); cout<<"Count of n digit numbers divisible by given number: "<<count<<"\n"; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं, तो हमें निम्न आउटपुट मिलेगा -
Count of n digit numbers divisible by given number: 10