समस्या विवरण
एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21।
हल दृष्टिकोण
सरल दृष्टिकोण: 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);
return 0;
}
आउटपुट
The value of x is: 15