JuSeok

2231번

문제

  • 자연수 N이 주어졌을 때 N의 가장 작은 생성자를 구하는 문제
  • 예를 들어 245의 분해합은 256(=245+2+4+5), 반대로 245는 256의 생성자
문제 해결 순서
  1. 입력받은 N-1만큼 반복문을 돌며 N을 String형으로 변경한 후 한 자리씩 sum에 더함
  2. i + sum이 입력받은 N과 같다면 result에 i를 넣음
  3. result 출력
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
    int i;
    int result = 0;
    for(i=n-1; i>0; i--){
      int sum = 0;
      String input_st = String.valueOf(i);
    	  
      for(int j=0; j<input_st.length(); j++) {
       sum+=input_st.charAt(j)-48;
      }

      if(i+sum == n){
        result = i;
      }
    }
    System.out.print(result);
  }
}

Tags