본인 수 + 백의 자리 + 십의 자리 + 일의 자리 형태로
자리수 + 원래수를 더해서 N이 되도록 하는 생성자를 구하는 문제이다.
N이 1,000,000이므로 전수조사를 행할 수 있다.
N을 만들 수 있는 생성자를 찾기 위해 전수조사를 실시한다.
//백준 2231, 분해합
#include <iostream>
int main(){
int N;
std::cin >> N;
int n{1};
while(N >= n){
int tmp = n;
int val{0};
val += tmp;
while(tmp > 0){
val += tmp%10;
tmp /= 10;
}
if(val == N){
std::cout << n;
return 0;
}
else ++n;
}
std::cout << 0;
return 0;
}