题目链接:https://leetcode-cn.com/problems/add-digits/
一.题解思路
1.常规
双重while循环,外层的判断是否已经为个位数,里层的做各位相加,先对10取余再除以10,直到所有位置上的数字都加完。
2.数学
比如说对三位数 abc = 100a+10b+c 而言,它各位相加会得到 a+b+c,也就是说相加的过程其实是abc - (a+b+c) = 99a+9b,即 a+b+c = abc - (99a+9b) = abc - 9×(11a+b)。因此,每一次相加其实是对 abc ,或者说对我们的num做了%9的操作。
而如果num恰好能被9整除,返回的则是9。
二.心得
没想到数学的方法,也许还是太浮躁,缺少了思考的过程。共勉。