Проверить, превышает ли сумма цифр числа произведение цифр этого числа

Опубликовано: 22 Сентября, 2022

Для данного положительного целого числа 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), так как мы не используем дополнительное пространство.