본문 바로가기

Study/백준

[JAVA] 백준 2231 분해합 (단계적으로 풀어보기 11.브루트포스_2)

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.*;
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 1. 입력
        int N = Integer.parseInt(br.readLine());
        int result = 0;

        // 2. 생성자 찾기 
        for(int i = 0; i < N; i++) {
            int sum = 0;
            int num = i;

            while(num != 0) {
                sum += num % 10;
                num = num / 10;
            }

            if(sum + i == N) {
                result = i;
                break;
            }
        }

        // 3. 출력
        System.out.println(result);
    }
}

 

참고사이트 : https://st-lab.tistory.com/98

 

[백준] 2231번 : 분해합 - JAVA [자바]

www.acmicpc.net/problem/2231 2231번: 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다

st-lab.tistory.com