https://www.acmicpc.net/problem/2231
#include
#include
#include
using namespace std;
int main ()
{
int N, sum=0, num;
cin >> N;
for (int i = 1; i <= N; i++)
{
num = i;
// 분해합을 구한다.
while(true)
{
if (num/10 == 0) {
sum+=num;
break;
}
else {
sum += num%10;
num = num/10;
}
}
// 생성자를 찾으면 바로 출력하고 끝낸다.
if (sum+i == N) {
cout << i << endl;
return 0;
}
// 생성자가 아니면 sum을 초기화하고 다음 수로 넘어간다.
sum = 0;
}
cout << 0 << endl;
}
'Coding > PS' 카테고리의 다른 글
리모컨 (0) | 2019.07.06 |
---|---|
덩치 (0) | 2019.07.06 |
카드의 합 구하기 (0) | 2019.07.05 |
계단 오르기 (0) | 2019.06.18 |
그대로 출력하기 (0) | 2019.06.09 |