# [Archived]
# https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/
# 1281. Subtract the Product and Sum of Digits of an Integer

# History:
# Google
# 1.
# Mar 9, 2020

# 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


class Solution(object):
    def subtractProductAndSum(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n == 0:
            return 0

        n_prod = 1
        n_sum = 0

        while n > 0:
            nxt_digit = n % 10
            n /= 10

            n_prod *= nxt_digit
            n_sum += nxt_digit

        return n_prod - n_sum
