https://www.acmicpc.net/problem/2231
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
- 문제
- 예제
- 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class p2231 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine(); // n의 길이를 쉽게 알기 위해 문자열로 입력받기
int n = Integer.parseInt(s); // n값 저장
int result = 0; // 정답 변수 생성
for (int i = (n - (s.length() * 9)); i < n; i++) { // 최솟값부터 완전탐색
int num = i; // k를 나타내는 변수
int sum = 0; // k의 각 자릿수 합을 나타내기 위한 변수
while (num != 0) { // 각 자릿수 합을 구하는 반복문
sum += num % 10;
num /= 10;
}
if (sum + i == n) { // 생성자가 맞다면 반복문 종료, 출력
result = i;
break;
}
}
System.out.println(result);
}
}
'백준 - JAVA' 카테고리의 다른 글
2503번 : 숫자 야구 (0) | 2023.08.17 |
---|---|
10448번 : 유레카 이론 (0) | 2023.08.16 |
15649번 : N과 M (1) (0) | 2023.08.10 |
5568번 - 카드 놓기 (0) | 2023.08.09 |
20546번 - 기적의 매매법 (0) | 2023.08.07 |