Skip to content

Latest commit

 

History

History

1281

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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

Related Topics:
Math

Solution 1.

// OJ: https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/
// Author: github.com/lzl124631x
// Time: O(logN)
// Space: O(1)
class Solution {
public:
    int subtractProductAndSum(int n) {
        int prod = 1, sum = 0;
        while (n) {
            int d = n % 10;
            n /= 10;
            prod *= d;
            sum += d;
        }
        return prod - sum;
    }
};