入门小白在编程初期经常遇到要计算一个整数每个位数相加、相乘等的问题。
总结一下,记住两个要点就可以了。
先拿三位数举例,如 256。
-
提取个位:对10取余%。个位(最后一位数字,这里为6),256%10结果为6,就得到了个位数6;
-
去掉最后一位:用该数除以/10。如256/10,由于两个整数int类型相除时,会把小数点后的数直接截断,保证其仍为整数。
如256/10结果为25。
根据上面两个操作,进行循环,提取末位,截掉末位,再提取……直到为0。
下面是力扣一个简单题的java实现(其他语言类似):整数的各位积和之差。按上面这两步走即可。不过还要注意的是,求积一般初始化为1,用于相乘;求和一般初始化为0,用于相加。
class Solution {
public int subtractProductAndSum(int n) {
int muti = 1;
int sum = 0;
while(n!=0){
muti *=n%10;
sum +=n%10;
n/=10;
}
return muti-sum;
}
}