算法

如何计算一个非负整数的各个位上数字之和?

2020-04-10  本文已影响0人  程序猿蛋蛋哥

1. 题目

如何计算一个非负整数的各个位上数字之和?

例如:
100,各位上数字和 = 1 + 0 + 0 = 1
35,各位上数字和 = 3 + 5 = 8
216,各位上数字和 = 2 + 1 + 6 = 9

2. 解题思路

<1> 对非负整数 x 每次对10取余(即可获得x的个位上数字)
<2> 然后再将 x 除以10
<3> 不断重复上述操作,直到 x 为0,最终将每次取余的结果加起来。

举例:
x = 216,x % 10 = 216 % 10 = 6
x = x/10 = 21,x % 10 = 21 % 10 = 1
x = x/10 = 2,x % 10 = 2 % 10 = 2
x = x/10 = 0,结束
则 result = 6 + 1 + 2 = 9

3. 代码实现

public int getDigitSum(int num) {
    int sum = 0;
    while (num != 0) {
        sum += num % 10;
        num /= 10;
    }
    return sum;
}
上一篇 下一篇

猜你喜欢

热点阅读