यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक अन्य मान x ढूंढना है, जैसे कि x + x के अंकों का योग दी गई संख्या n के बराबर हो। मान लीजिए n का मान 21 है। यह प्रोग्राम x = 15 लौटाएगा, क्योंकि 15 + 15 के अंकों का योग (1+5) = 21 = n होता है।
इसे हल करने के लिए, हमें सरल दृष्टिकोण अपनाना होगा। हम 1 से n तक पुनरावृति करेंगे, प्रत्येक पुनरावृत्ति में, हम देखेंगे कि यदि संख्या और उसके अंकों का योग n के बराबर है, तो रुक जाएं, अन्यथा जारी रखें।
उदाहरण
#include <iostream>
using namespace std;
int getDigitSum(int n) {
int sum = 0;
while (n) {
sum += n % 10;
n /= 10;
}
return sum;
}
int getNumber(int n) {
for (int i = 0; i <= n; i++)
if (i + getDigitSum(i) == n)
return i;
return -1;
}
int main() {
int n = 21;
cout << "The value of x is: " << getNumber(n);
}
आउटपुट
The value of x is: 15