Проверить, превышает ли сумма цифр числа произведение цифр этого числа
Для данного положительного целого числа N задача состоит в том, чтобы проверить, строго ли сумма цифр числа N больше произведения цифр числа N или нет. Если найдено верно , то выведите «Да» . В противном случае выведите «Нет» .
Примеры:
Input: N = 1234
Output: No
Explanation:
The sum of the digits of N(= 1234) is = 1 + 2 + 3 + 4 = 10.
The product of the digits of N(= 1234) is 1*2*3*4 = 24.
As the sum of the digits is smaller than the product of the array. Therefore, print No.Input: N = 1024
Output: Yes
Подход: выполните следующие шаги, чтобы решить данную проблему:
- Инициализируйте две переменные, скажем, sumOfDigit как 0 и prodOfDigit как 1 , которые хранят сумму и произведение цифр N .
- Повторяйте, пока N не станет больше 0 , и выполните следующие шаги:
- Найдите последнюю цифру N и сохраните ее в переменной, скажем, rem .
- Увеличьте значение sumOfDigit на rem .
- Обновите значение prodOfDigit как prodOfDigit*rem .
- После выполнения вышеуказанных шагов, если значение sumOfDigit больше, чем prodOfDigit, выведите «Да» . В противном случае выведите «Нет» .
Ниже приведена реализация вышеуказанного подхода:
Сложность времени: O (log 10 N), так как мы просматриваем цифры, которые будут стоить log 10 N времени.
Вспомогательное пространство: O(1), так как мы не используем дополнительное пространство.