1281 整数的各位积和之差(分析)

1. 问题描述:

给你一个整数 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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer

2. 思路分析:

我们只需要对给出的数字n中通过除10取余得到各个位置上的数字计算出相应的结果即可

3. 代码如下:

class Solution:
    def subtractProductAndSum(self, n: int) -> int:
        product, sum = 1, 0
        while n > 0:
            t = n % 10
            product *= t
            sum += t
            # 注意两杠是整除
            n //= 10
        return product - sum

 


版权声明:本文为qq_39445165原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。