给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。
示例 1:
输入:n = 234
输出:15
解释:
各位数之积 = 2 * 3 * 4 = 24
各位数之和 = 2 + 3 + 4 = 9
结果 = 24 - 9 = 15
示例 2:
输入:n = 4421
输出:21
解释:
各位数之积 = 4 * 4 * 2 * 1 = 32
各位数之和 = 4 + 4 + 2 + 1 = 11
结果 = 32 - 11 = 21
提示:
1 <= n <= 10^5
考察重点
对于数字
来说,一般要善于运用 n%10
来达到遍历的效果。
对于字符串
来说,一般要善于运行char
来达到遍历的效果
题解
class Solution {
public int subtractProductAndSum(int n) {
int sum=0;
int product=1;
while (n>0){
int digit=n%10;
sum+=digit;
product*=digit;
n=n/10;
}
return product-sum;
}
}