1. 가장 작은 생성자를 구해야 하므로 1부터 더해나간다.
2. sum은 생성자와 생성자의 각 자리수 합을 모두 더한 변수, p는 각 자리수의 합을 구하기 위한 변수
3. p가 0이 될때까지 각 자리수의 합을 구하고 sum에 추가
4. sum==n 이면 i를 출력하고 실행을 끝낸다.
5. 만약 4번 조건에 걸리지 않는다면 생성자가 없는 것이므로 0을 출력한다.
#include <iostream>
using namespace std;
int main(void) {
int n;
cin >> n;
int sum; //전체 합
int p; //각 자리수
for (int i = 1; i < n; i++) {
sum = i;
p = i;
while (p>0) {
sum += p % 10;
p /= 10;
}
if (sum == n) {
cout << i;
return 0;
}
}
cout << 0;
}
'PS > 백준' 카테고리의 다른 글
[C++] 백준 2839번: 설탕 배달 (0) | 2020.12.26 |
---|---|
[C++] 백준 7568번: 덩치 (0) | 2020.12.23 |
[C++] 백준 2798번: 블랙잭 (0) | 2020.12.23 |
[C++] 백준 1316번: 그룹 단어 체커 (0) | 2020.12.08 |
[C++] 백준 2941번: 크로아티아 알파벳 (0) | 2020.12.08 |
댓글