풀이
각 자리수의 최대값이 9이므로
[n-9*자릿수, n]
구간만 조사해도 된다!
코드
#include <stdio.h>
int n, i, j, cnt, sum;
int main() {
scanf("%d", &n);
i = n;
while (i) i /= 10, cnt++;
for (i = n - 9 * cnt; i < n; i++) {
sum = i;
for (j = i; j; j /= 10) sum += j % 10;
if (sum == n) break;
}
printf("%d", i != n ? i : 0);
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이