題目:
如果一個整數能夠被其各個數位上的數字之和整除,則稱之為 哈沙德數(Harshad number)。給你一個整數 x 。如果 x 是 哈沙德數 ,則返回 x 各個數位上的數字之和,否則,返回 -1 。
示例 1:
輸入: x = 18
輸出: 9
解釋:
x 各個數位上的數字之和為 9 。18 能被 9 整除。因此 18 是哈沙德數,答案是 9 。
示例 2:
輸入: x = 23
輸出: -1
解釋:
x 各個數位上的數字之和為 5 。23 不能被 5 整除。因此 23 不是哈沙德數,答案是 -1 。
提示:
1 <= x <= 100
思路:
模擬
代碼:
class Solution {public int sumOfTheDigitsOfHarshadNumber(int x) {int sum = 0;int n = x;while(x > 0){sum += x %10;x /= 10;}return n%sum==0 ? sum : -1;}
}