Back to Leetcode Go

1281. Subtract the Product and Sum of Digits of an Integer

website/content.en/ChapterFour/1200~1299/1281.Subtract-the-Product-and-Sum-of-Digits-of-an-Integer.md

1.7.971.2 KB
Original Source

1281. Subtract the Product and Sum of Digits of an Integer

Problem

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

Problem Summary

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

Note:

  • 1 <= n <= 10^5

Solution Ideas

  • Given a number, calculate the difference between the product of each digit and the sum of each digit.
  • Easy problem; just handle the input and output according to the problem statement.

Code

go
func subtractProductAndSum(n int) int {
	sum, product := 0, 1
	for ; n > 0; n /= 10 {
		sum += n % 10
		product *= n % 10
	}
	return product - sum
}