इस ट्यूटोरियल में, हम एक ऐसा प्रोग्राम लिखेंगे जो जांचता है कि दी गई संख्या कप्रीकर संख्या है या नहीं।
एक संख्या लें। उस संख्या का वर्ग ज्ञात करें। संख्या को दो भागों में विभाजित करें। यदि दोनों भागों का योग मूल संख्या के बराबर है, तो उस संख्या को कप्रीकर संख्या कहा जाता है।
आइए इस समस्या को हल करने के चरण देखते हैं।
- n को इनिशियलाइज़ करें।
- n का वर्ग ज्ञात करें।
- n के वर्ग में अंकों की संख्या ज्ञात करें और इसे एक वेरिएबल में स्टोर करें।
- n के वर्ग को 10, 100, 1000, आदि से विभाजित करें जब तक अंकों की संख्या।
- जांचें कि उन भागों में से किसी का योग n के बराबर है या नहीं।
- यदि वे बराबर हैं तो True वापस करें अन्यथा False।
उदाहरण
आइए कोड देखते हैं।
#include<bits/stdc++.h> using namespace std; bool isKaprekarNumber(int n) { if (n == 1) { return true; } int nSquare = n * n, digitsCount = 0; while (nSquare) { digitsCount++; nSquare /= 10; } nSquare = n * n; for (int i = 1; i < digitsCount; i++) { int parts = pow(10, i); if (parts == n) { continue; } int sum = nSquare / parts + nSquare % parts; if (sum == n) { return true; } } return false; } int main() { int n = 25; string result = isKaprekarNumber(n) ? "True" : "False"; cout << result << endl; return 0; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।
False
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में लिखें।