Количество элементов массива, делящихся либо на их произведение, либо на сумму цифр

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

Дан массив arr[] . Задача состоит в том, чтобы посчитать элементы массива, которые делятся либо на произведение их цифр, либо на сумму цифр.

Пример:

Input: arr[] = {123, 25, 36, 7}
Output: 2
Explanation: Following are the elements that follows the given conditions
Sum of digits of 123 is 6 and the product of digits is also 6. 
Since 123 is not divisible by 6, so it is not counted. 
The sum of digits of 36 is 9 and product of digits is 18. Since 36 is divisible by both, so it is considered in answer. 
Similarly, sum of digits and product of digits of 7 is 7 itself, hence it is also considered.
Hence, 2 is the final answer. 

Input: arr[] = {10, 22, 15}
Output: 2
Explanation:  The sum of digits in 10 is 1, and 10 is divisible by 1, hence we consider it. The product of digits of 15 is 5, and 15 is divisible by 5, we consider it in our output.

Подход: Эта проблема основана на наблюдении. Выполните следующие шаги, чтобы решить данную проблему.

  • Объявите переменную, скажем, count = 0 , чтобы хранить количество элементов, удовлетворяющих заданным условиям.
  • Для каждого числа в массиве arr[] найдите сумму его цифр и произведение его цифр.
  • Проверить, делится ли число на сумму цифр или на произведение цифр.
  • Если да, добавьте его в свою переменную count.
  • Верните счет как окончательный ответ.

Ниже приведена реализация описанного выше подхода.


Временная сложность: O(N)
Вспомогательное пространство: O(1)

РЕКОМЕНДУЕМЫЕ СТАТЬИ