leetCode #258 Add Digits

来源:互联网 发布:java 文件加密 编辑:程序博客网 时间:2024/05/02 00:03

题目:将某数的每位相加,和作为新数,直至不超过10

分析:按部就班地做呗

答案:

class Solution {public:    int addDigits(int num) {        while (num/10 >0 ){            int newnum = 0;            while(num){                int digit = num%10;                num /= 10;                newnum +=digit;            }            num = newnum;        }        return num;    }};

扩展:

其实这个数学问题是有闭合解的

n的digit root:

  • dr(n) = 1 + (n - 1) % 9

0 0
原创粉丝点击