Algorithm/BOJ

[백준 알고리즘] 백준 2231번 - 분해합(JAVA)

해피한개발자 2022. 1. 16. 01:07
문제

https://www.acmicpc.net/problem/2231

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

문제풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main_BOJ_2231_분해합 {
 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        
        int ans=0;
        
        for (int i = 0; i <N; i++) {
            int num = i;
            int sum =0;
            
            while(num!=0) {
                sum += num%10;
                num /=10;
            }
            
            if(sum+i==N) {
                ans = i;
                break;
            }
            
            
        }
        System.out.println(ans);
 
    }
 
}
cs