https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/ | Easy |
---|
Дано целое число n
. Нужно вычислить разницу между произведением его цифр и суммой его цифр.
Input:
234Output:
15Explanation:
2 * 3 * 4 - (2 + 3 + 4) = 24 - 9 = 15
Input:
4421Output:
21Explanation:
4 * 4 * 2 * 1 - (4 + 4 + 2 + 1) = 32 - 11 = 21
fun subtractProductAndSum(n: Int): Int {
var num = n
var product = 1
var sum = 0
while (num > 0) {
val digit = num % 10 // Получаем последнюю цифру
product *= digit // Умножаем на произведение
sum += digit // Добавляем в сумму
num /= 10 // Убираем последнюю цифру
}
return product - sum
}
O(log n), так как число разбивается на цифры.
O(1), так как используются только переменные.