首页 > TAG信息列表 > digitSum
ZZULIOJ:1109: 数根(函数专题)
题目描述 输入一个正整数,输出该数的数根。数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24来说,把2和4相加得到6,由于1109: 数根(函数专题)Java
1109: 数根(函数专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 9803 解决: 7409 [状态] [讨论版] [提交] [命题人:admin] 题目描述 输入一个正整数,输出该数的数根。数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位【LeetCode】面试题13. 机器人的运动范围
题目: 思路: 矩阵搜索,因为可以上下左右移动,判断机器人是否能够走到位置x,只需要判断机器人能否走到它的上下左右的位置,并且x点满足条件。但是判断x点时,它的上下左右如果还没有判断过呢?这时陷入了瓶颈。 如下图所示,观察到这样一个矩阵是有规律的。机器人可以只通过向下、向右移动就写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和(C语言)
思路: 要获得一个非负整数各个数位之和,只要对该整数不断进行除10取余,再除10的操作即可。用递归的方法,只要当输入的整数n大于0时,对他除10取余,再加上调用函数 DigitSum (n/10)即可。当n等于0时,直接返回0即可。 源程序: #include<stdio.h> #include<stdlib.h> int DigitSum(n) {