इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो यह जांचता है कि दी गई संख्या कीथ नंबर है या नहीं या नहीं।
संख्या n को कीथ संख्या कहा जाता है यदि यह अपने अंकों का उपयोग करके उत्पन्न अनुक्रम में प्रकट होती है। अनुक्रम में पहले n पद होते हैं क्योंकि संख्या n के अंक होते हैं और अन्य शब्दों का पुनरावर्ती रूप से पिछले n पदों के योग के रूप में मूल्यांकन किया जाता है।
आइए समस्या को हल करने के लिए चरणों को देखें।
- संख्या n प्रारंभ करें।
- सीक्वेंस को स्टोर करने के लिए एक खाली वेक्टर एलिमेंट को इनिशियलाइज़ करें।
- अंकों की गणना करें और प्रत्येक अंक को vecor में जोड़ें।
- अंकों के वेक्टर को उलट दें।
- 0 के साथ एक वेरिएबल प्रारंभ करें जिसे अगला तत्व कहा जाता है।
- एक लूप लिखें जो अगले तत्व तक n से कम हो।
- अगला तत्व प्राप्त करने के लिए अंतिम n अंक जोड़ें।
- वेक्टर में अगला तत्व जोड़ें।
- यदि अगला तत्व n और असत्य के बराबर है, तो सही लौटें।
उदाहरण
आइए कोड देखें।
#include<bits/stdc++.h> using namespace std; bool isKeithNumber(int n) { vector<int> elements; int temp = n, digitsCount = 0; while (temp > 0) { elements.push_back(temp % 10); temp = temp / 10; digitsCount++; } reverse(elements.begin(), elements.end()); int nextElement = 0, i = digitsCount; while (nextElement < n) { nextElement = 0; for (int j = 1; j <= digitsCount; j++) { nextElement += elements[i - j]; } elements.push_back(nextElement); i++; } return nextElement == n; } int main() { isKeithNumber(43) ? cout << "Yes" << endl : cout << "No" << endl; isKeithNumber(14) ? cout << "Yes" << endl : cout << "No" << endl; isKeithNumber(197) ? cout << "Yes" << endl : cout << "No" << endl; return 0; }
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
No Yes Yes
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।