Problem:
Score : 200 points

Problem Statement

An integer X is called a Harshad number if X is divisible by f(X), where f(X) is the sum of the digits in X when written in base 10.

Given an integer N, determine whether it is a Harshad number.

Constraints

1?N?10^8

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print Yes if N is a Harshad number; print No otherwise.

Sample Input 1

12

Sample Output 1

Yes

f(12)=1+2=3. Since 12 is divisible by 3, 12 is a Harshad number.

Sample Input 2

57

Sample Output 2

No

f(57)=5+7=12. Since 57 is not divisible by 12, 12 is not a Harshad number.

Sample Input 3

148

Sample Output 3

No

Solution in JavaScript (node.js v5.12) (judge verdict: Accepted)

    // inputに入力データ全体が入る
    function Main(input) {
    	input = input.split("\n");

      var N = parseInt(input[0], 10);
      
      if (parseInt(N / 10) === 0){ // 1桁の時
        console.log('Yes');
        return;  
      }

      var Sum = 0;
      var Mod = N; // 余り
      for (var i = 100000000; i >= 10; i = i / 10){
        Sum += parseInt(Mod / i);
        Mod = Mod % i;
        // console.log('%d', i);
        // console.log('%d', Sum);
        // console.log('%d', Mod);
        // console.log('--');        
      }
      Sum += Mod;
      // console.log('%d', Sum);
      // console.log('%d', Mod);
      // console.log('--');   

      if( N % Sum === 0){
      	console.log('Yes');
      }else{
        console.log('No');
      }
    
    }

    Main(require("fs").readFileSync("/dev/stdin", "utf8"));