05 Subtract the Product and Sum of Digits of an Integer

2021-08-18 15:50:38 浏览数 (2)

题目

Given an integer number n, return the difference between the product of its digits and the sum of its digits.

Example 1:

Input: n = 234 Output: 15 Explanation: Product of digits = 2 * 3 * 4 = 24 Sum of digits = 2 3 4 = 9 Result = 24 - 9 = 15

Example 2:

Input: n = 4421 Output: 21 Explanation: Product of digits = 4 * 4 * 2 * 1 = 32 Sum of digits = 4 4 2 1 = 11 Result = 32 - 11 = 21

Constraints:

代码语言:javascript复制
1 <= n <= 10^5

解析

题目通俗易懂,不多做解释。 解题关键就在于获取到一个数的每位数—>取余10再除以10,重复操作即可 如123 123=3 123/10=12 12=2 12/10=1 1=1

答案

代码语言:javascript复制
class Solution {
    public int subtractProductAndSum(int n) {
        int product=1;
        int sum=0;
        while(n>0){
            int tmp=n;
            product*=tmp;
            sum =tmp;
            n/=10;
        }
        return product-sum;
    }
}

评论区似乎没有其他更好的解法。

0 人点赞