백준 문제풀이(Baekjoon)
[Baekjoon] 2331번 : 분해합
LIZ0904
2020. 6. 16. 01:48
반응형
https://www.acmicpc.net/problem/2231
2231번: 분해합
문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+
www.acmicpc.net
정답코드
#include <stdio.h>
int main() {
int n, tmp, sum, all[10] = { 0 },count=0,min;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
int arr[7] = { 0 };
tmp = i;
sum = i;
for (int j = 0; j < 7; j++) {
sum+= tmp % 10;
tmp /= 10;
if (tmp < 10) {
sum+= tmp % 10;
break;
}
}
if (sum == n) {
all[count++] = i;
}
}
min = n + 1;
for (int i = 0; i < count--; i++) {
if (all[i] < min) min = all[i];
}
if (min == n + 1) printf("0\n");
else printf("%d\n", min);
}
반응형