ハザード数


0413


問題の説明


正の整数xを下のスケール数にするには、xをxの桁数の和で除算する必要があります.例えば、18の桁数の和は1+8=9であり、18は9で除算されるので、18は下付き文字数となる.自然数xを入力し、xがハザード数の関数かどうかをチェックし、解を完了します.

せいげんじょうけん

  • xは、1または10000より大きい整数である.
  • I/O例


    arrreturn10true12true11false13false

    きほんコード

    class Solution {
        public boolean solution(int x) {
            boolean answer = true;
            return answer;
        }
    }

    正しいコード

    class Solution {
        public boolean solution(int x) {
            boolean answer = true;
            // int → String
            String s = String.valueOf(x);
            int sum = 0;
            // 한 글자씩 잘라 배열에 담기
            String[] arr = s.toString().split("");
            // 자릿수 합
            for(int i = 0; i<arr.length; i++){
                sum += Integer.parseInt(arr[i]);
            }
            // 하샤드 수?
            if(x % sum == 0) answer = true;
            else answer = false;
            
            return answer;
        }
    }

    問題を解く


    整数xを文字列に変換し、splitを使用して単語ごとに切り取りarr配列に入れます.
    for文からIntegerへ.ParseIntを使用して
    文字列を整数に変換しsumに組み込み、if文でハザード数の条件が正しいかどうかを確認します.