列表

详情


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

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int subtractProductAndSum(int n) { } };

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

上一题