[伯俊2231]分解合-JAVA



問題のソース


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

に答える

  • 10000までに完全探索を利用して生成者を探せばよい.
  • 整数の各ビット数の解法を理解すれば,
  • 問題を簡単に解くことができる.

    コード#コード#

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    public class Main {
        public static void main(String[] args) throws IOException {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
            int N = Integer.parseInt(stringTokenizer.nextToken());
            for (int i = 1; i <= 1000000; i++) {
                int sum = i;
                int num = i;
                while (num != 0) {
                    sum += num % 10;
                    num /= 10;
                }
                if (sum == N) {
                    System.out.println(i);
                    break;
                }
                if (i + 1 > 1000000) {
                    System.out.println(0);
                    break;
                }
            }
        }
    }
    

    採点結果