Given an integer number n
, return the difference between the product of its digits and the sum of its digits.
Input: n = 234 Output: 15 Explanation: Product of digits = 2 * 3 * 4 = 24 Sum of digits = 2 + 3 + 4 = 9 Result = 24 - 9 = 15
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
1 <= n <= 10^5
impl Solution {
pub fn subtract_product_and_sum(n: i32) -> i32 {
let mut n = n;
let mut digits = Vec::with_capacity(6);
while n > 0 {
digits.push(n % 10);
n /= 10;
}
digits.iter().product::<i32>() - digits.iter().sum::<i32>()
}
}