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