https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/ Easy

Условие

Дано целое число n. Нужно вычислить разницу между произведением его цифр и суммой его цифр.

Примеры

Input: 234 Output: 15 Explanation: 2 * 3 * 4 - (2 + 3 + 4) = 24 - 9 = 15

Input: 4421 Output: 21 Explanation: 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), так как используются только переменные.