如果一個整數能夠被其各個數位上的數字之和整除,則稱之為?哈沙德數(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 tmp=x,sum=0;while(x){sum+=x%10;x/=10;}if(!(tmp%sum)) return sum;return -1;}
};