Description:
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
Solution:
public class Solution {
public int SubtractProductAndSum(int n) {
int reminder;
int sum = 0;
int product = 1;
while(n>0){
sum = sum+(n%10);
product = product*(n%10);
n = n/10;
}
return product-sum;
}
}
Approach:
Initialize variables:
sum = 0→ to store sum of digits.product = 1→ to store product of digits.
Loop through all digits of n:
- The condition
while (n > 0)keeps running until all digits are processed.
Extract last digit:
(n % 10)gives the last digit ofn.
Update sum and product:
- Add the digit to
sum. - Multiply the digit to
product.
Remove last digit:
n = n / 10removes the last digit (integer division).
After loop ends:
- All digits have been processed.
- Compute the final answer:
product - sum.
