main
[백준-2231번/Java] 분해합 본문
https://www.acmicpc.net/problem/2231
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
* 10 나머지 연산 / 10 나누기 연산을 이용해서 자릿수를 더했다.
* 가장 작은 생성자를 구해야 하므로, 최초로 생성자를 찾으면 for문을 break해서 빠져나온다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int answer = 0;
for (int i = 1; i < 1000001; i++) {
int constructor = i;
int sum = i;
while (constructor > 0) {
sum += constructor % 10;
constructor /= 10;
}
if (sum == N) {
answer = i;
break; // 최솟값
}
}
System.out.println(answer);
}
}
728x90
'Algorithm' 카테고리의 다른 글
[백준-1436번/Java] 영화감독 숌 (0) | 2022.11.21 |
---|---|
[백준-7568번/Java] 덩치 (0) | 2022.11.21 |
[백준-10815번/Java] 숫자 카드 (0) | 2022.11.20 |
[백준-1966번/Java] 프린터 큐 (0) | 2022.11.19 |
[백준-1271번/Java] 엄청난 부자2 (0) | 2022.11.19 |
Comments