输入这个数,把这个数字拆分成各个字符,再转成int整数类型相加,然后与10比较,小于10的话就输出结果;大与10的话就继续循环;这里运用了定义方法,因为需要多次的转化相加,所以这样就会更简洁。 ...
题目: 各位相加:给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例: 输入: 输出: 解释: 各位相加的过程为: , 。 由于 是一位数,所以返回 。进阶:你可以不使用循环或者递归,且在 O 时间复杂度内解决这个问题吗 思路: 思路较简单。 程序: class Solution: def addDigits self, num: int gt int: if num : ...
2020-05-27 10:22 0 615 推荐指数:
输入这个数,把这个数字拆分成各个字符,再转成int整数类型相加,然后与10比较,小于10的话就输出结果;大与10的话就继续循环;这里运用了定义方法,因为需要多次的转化相加,所以这样就会更简洁。 ...
常规思路:分别获取num的位上的值进行相加,判断相加后的结果result,如果result小于10,返回值,否则获取result的位上的值进行相加,判断相加后的结果,直到结果小于10,输出结果 代码: 不用循环和递归: 分析: 对于二位数ab=a*10+b: ab ...
class Solution: def addDigits(self, num): sum=0 for i in list(str(num)): sum+=int(i) if sum<10: return sum else: return ...
题目: 字符串相加:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 注意: num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接 ...
//给定一个整数n(1<=n<=1000000000),要求从个位开始分离出它的每一位数字,从个位开始按照从低位到高位的顺序依次输出每一位数字(奥赛一本通p64 4题) //第一种解法 ,用到了stringstream,没用to_string,因为dev5.92版本不支持这个命令 ...
要求:m定义为类的属性,需定义构造函数为m赋值;当m大于99999时,输出错误信息“the number is too large”,不再执行。 ...
题目: 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路:考虑进位的情况就可以了,较简单 程序: class ...