class Solution {
public:
int subtractProductAndSum(int n) {
}
};
1281. 整数的各位积和之差
给你一个整数 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
原站题解
cpp 解法, 执行用时: 4 ms, 内存消耗: 6.4 MB, 提交时间: 2023-10-11 11:07:43
class Solution { public: int subtractProductAndSum(int n) { int a = 1, b = 0; while ( n > 0 ) { b += n % 10; a *= n % 10; n /= 10; } return a - b; } };
java 解法, 执行用时: 0 ms, 内存消耗: 38.2 MB, 提交时间: 2023-10-11 11:07:30
class Solution { public int subtractProductAndSum(int n) { int a = 1, b = 0; while ( n > 0 ) { b += n % 10; a *= n % 10; n /= 10; } return a - b; } }
golang 解法, 执行用时: 0 ms, 内存消耗: 1.9 MB, 提交时间: 2021-06-08 14:18:29
func subtractProductAndSum(n int) int { a, b := 1, 0 for n > 0 { b += n % 10 a *= n % 10 n /= 10 } return a - b }
python3 解法, 执行用时: 36 ms, 内存消耗: 16 MB, 提交时间: 2023-08-09 07:46:10
class Solution: def subtractProductAndSum(self, n: int) -> int: a, b = 1, 0 while n > 0: b += n % 10 a *= n % 10 n //= 10 return a - b