05 Subtract the Product and Sum of Digits of an Integer

关注 每天一道编程题 专栏,一起学习进步。

题目

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:

1 <= n <= 10^5

解析

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

答案

class Solution {
    public int subtractProductAndSum(int n) {
        int product=1;
        int sum=0;
        while(n>0){
            int tmp=n%10;
            product*=tmp;
            sum+=tmp;
            n/=10;
        }
        return product-sum;
    }
}

05 Subtract the Product and Sum of Digits of an Integer_第1张图片

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

你可能感兴趣的:(每日一道编程题,leetcode,java,算法)