一道小时候经常玩的数字游戏
小时候经常会自己玩一个数学游戏,就是遇到一个长度大于2的数字,把它的所有位数相加,直到加到变成1位。没想到,今天竟然在leetcode遇到了。。汗,之前只是玩了,并没有总结规律。
258. Add Digits
Given a non-negative integer num
, repeatedly add all its digits until the result has only one digit.
Example:
Input:38
Output: 2 Explanation: The process is like:3 + 8 = 11
,1 + 1 = 2
. Since2
has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
class Solution: def addDigits(self, num): """ :type num: int :rtype: int """ if num==0: return 0 if num%9==0: return 9 return num%9
当我看到这个答案的时候,觉得有点道理。。以后再补充按位数相加得出结果的方案。