数位之和计算:
算法中遇到很多到题都是要计算一个整数的各位数字,这里提供二种解法。
1.末尾取余法
设一数字 x ,向下取整除法符号 //,求余符号 ⊙ \odot ⊙ ,则有:
- x ⊙ 10 x \odot 10 x⊙10 :得到 x 的个位数字;
- x / / 10 x // 10 x//10 : 令 x 的十进制数向右移动一位,即删除个位数字。
因此,可通过循环求得数位和 s ,数位和计算的封装函数如下所示:
int sums(int x)
int s = 0;
while(x != 0) {
s += x % 10;
x = x / 10;
}
return s;
2.转字符串法
int n=12345;
char[] chars=String.valueOf(n).toCharArray();
for(int j=0;j<chars.length;j++){
System.out.print(chars[j]+" ");
}
//1 2 3 4 5