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

2023. 7. 20. 22:24·PS

 

문제

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다.

자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.

출력

첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다.

예제 입력 1 복사

216

예제 출력 1 복사

198

 

 

 

<내 코드>

 

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        String str_N=sc.next();
        int N=Integer.parseInt(str_N);
        int ans=0;
        int min=N-(str_N.length()*9);
        for (int i=min;i<N;i++){
            int sum=i;
            int k=i;
            while(k>0){
                sum=sum+k%10;
                k/=10;
            }
            if (sum==N){
                ans=i;
                break;

            }

        }
        System.out.println(ans);


    }

}

'PS' 카테고리의 다른 글

[java/백준] 1076번- 저항  (0) 2023.07.22
[java/백준] 2587번- 대표값 2  (2) 2023.07.21
[java/백준] 2495번 연속구간 (실패)ㅠㅠ  (1) 2023.07.20
[java/백준] 2292번 벌집  (1) 2023.07.19
[java/백준] 1152번 단어의 개수(3트ㅠㅠ)  (2) 2023.07.14
'PS' 카테고리의 다른 글
  • [java/백준] 1076번- 저항
  • [java/백준] 2587번- 대표값 2
  • [java/백준] 2495번 연속구간 (실패)ㅠㅠ
  • [java/백준] 2292번 벌집
zioni
zioni
  • zioni
    jiwon's dev.log
    zioni
  • 전체
    오늘
    어제
    • 분류 전체보기 (76)
      • spring & java (13)
      • Algorithm (14)
      • PS (37)
      • project (3)
      • experience (1)
      • etc (6)
      • study (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    자바
    백준
    백준2525
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
zioni
[java/백준]2231번- 분해합
상단으로

티스토리툴바