数学原理:https://en.wikipedia.org/wiki/Digital_root
Part1: C++
简洁做法:
class Solution {
public:
int addDigits(int num) {
return(num-9*((num-1)/9));
}
};
class Solution {
public:
int addDigits(int num) {
return(1+(num-1)%9);
}
};
两次循环方法:
class Solution {
public:
int addDigits(int num) {
int result;
result=num;
while(1){
if(result<10){
return result;
}
num=result;
result=0;
while(num){
result+=num%10;
num=num/10;
}
}
}
};