1 static int wing=[]() 2 { 3 std::ios::sync_with_stdio(false); 4 cin.tie(NULL); 5 return 0; 6 }(); 7 8 class Solution 9 { 10 public: 11 int addDigits(int num) 12 { 13 return 1+((num-1)%9); 14 } 15 };
每次把个位前面的数字n累加一次,整个数字就变小了9的倍数
比如:
123——1+2+3=6=123-12*9
182012——1+8+2+0+1+2=14=182012-9*18201——1+4=5=14-1*9
所以,只要拿原数字对9求余即可
但是要注意一点,若原数字本身就为9的倍数时,直接求余会输出0,而正确答案是9
因此,为了使得9X%9=9,要(9X-1)%9+1