题目
如果一个整数能够被其各个数位上的数字之和整除,则称之为 哈沙德数(Harshad number)。给你一个整数 x 。如果 x 是 哈沙德数 ,则返回 **x 各个数位上的数字之和,否则,返回 **-1 。
思路
转换成 String 后.逐位相加
注意: 字符要 - '0' 才可以
代码
class Solution {
public int sumOfTheDigitsOfHarshadNumber(int x) {
String xValue = String.valueOf(x);
int n = xValue.length();
int sum = 0;
for (int i = 0; i < n; i++) {
char c = xValue.charAt(i);
sum += (int) (c - '0');
}
return x % sum == 0 ? sum : -1;
}
}
题解
灵神题解: leetcode.cn/problems/ha…