문제를 풀다
설명하다
끈으로 해결 가능!
자세한 해결 방법은 코드에 주석으로 설명되어 있습니다!
코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
cin.tie(NULL);
ios::sync_with_stdio(false);
string N;
cin >> N;
bool flag = false; // 생성자가 있는지 없는지를 체크할 변수
for (int i = 1; i < stoi(N); i++)
{
string num = to_string(i); // num에 i를 string으로 변환하여 넣음
int sum = i; // 예제를 기준으로 216 + 2 + 1 + 6 이므로, 216을 먼저 sum에 넣음
int i_len = to_string(i).length(); // i 의 길이를 구함
for (int j = 0; j < i_len; j++) // i(=num)의 자릿수 만큼 반복
{
sum += num(j) - '0'; // 자릿수를 각각 더한다
}
if (sum == stoi(N)) // sum가 입력한 수가 같으면
{
cout << i << "\n"; // 생성자 출력
flag = true; // 생성자 변수 true
break;
}
}
if (flag == false) // 생성자가 없는 경우
{
cout << "0" << "\n";
}
return 0;
}