class Solution {
public:
int addDigits(int num) {
while(num >= 10){
int sum = 0;
while(num){//num不等于0
sum += num %10;
num = num/10;
}
num = sum;
}
return num;
}
};
num%10 取num的个位数
取模运算符 会得到余数,并且一定为整型
num / 10 “/”取整运算符
如果两个操作数都是整型,结果也将是整型,且向下取整(即忽略小数部分,也称取整运算符
)。如果至少有一个操作数是浮点型,则结果将是浮点型。
- 5/2 结果:2
- 5.0 / 2 或 5 / 2.0 结果:2.5
while ( num ) :当num不为0时执行下边的循环,等价于while ( num ! = 0 )。因为在这个循环中有“num = num / 10;”会不断的将num值除以10,当个位数除以10 后会得到结果0,此时循环已经不用再执行了,将num!=10 作为循环的终止语句。