3099.哈沙德数

keybot
1
2025-08-20

#easy
如果一个整数能够被其各个数位上的数字之和整除,则称之为 哈沙德数(Harshad number)。给你一个整数 x 。如果 x 是 哈沙德数 ,则返回 x 各个数位上的数字之和,否则,返回 -1 。

提示:

  • 1 <= x <= 100

思路
采用模拟的思想,直接模拟一下就可以了

int sumOfTheDigitsOfHarshadNumber(int x) {
    int sum = 0,a = x;
    while(a != 0) {
        int part = a % 10;
        sum += part;
        a /= 10;
    }
    if(x % sum == 0) return sum;
    return -1;
}