Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

main

[백준-2231번/Java] 분해합 본문

Algorithm

[백준-2231번/Java] 분해합

1984 2022. 11. 20. 23:58

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