题目链接:点击这里
模拟:
class Solution {
public:
int addDigits(int num) {
int sum = 0;
while(1)
{
while(num != 0)
{
sum += num%10;
num /= 10;
}
if(sum >= 10)
{
num = sum;
sum = 0;
}
else
break;
}
return sum;
}
};
观察两位数的情况:
三位数的情况:
模
的结果为
,而我们想要除了
以外,其余的是
,即特例
为
时,我们想要结果为
,所以用到一个小技巧(num-1)%9 + 1
。
class Solution {
public:
int addDigits(int num) {
if(num==0) return 0;
return (num-1)%9 + 1;
}
};