Итак, у меня есть вопрос, который я не совсем понимаю.
Я хотел бы понять подход проблемы
Представьте себе следующий сценарий:
Вы являетесь менеджером по персоналу компании, в которой 1000 сотрудников пронумерованы от 1 до 1000. Ваш начальник сказал, что вы должны дать сотрудникам большой рождественский бонус, но не назвал их имена. Вместо этого они дали вам два указания:
1) сумма правильных делителей (включая 1, но не самого себя) номера сотрудника больше, чем сам номер сотрудника
2) никакое подмножество этих делителей не суммируется с самим номером сотрудника.
Сколько сотрудников имеют право на получение бонуса и какое их количество?
Например:
- Число 12: правильными делителями являются 1, 2, 3, 4 и 6. Сумма составляет 1 + 2 + 3 + 4 + 6 = 16, что больше 12 и соответствует первому условию. Однако подмножество 2 + 4 + 6 = 12, что нарушает второе условие.
Мой вывод:
Мне нужно получить эти числа от 1 до 1000, где сумма делителей числа больше, чем само число (, включая 1, но не само по себе ), но ни одно из подмножеств делителей не может быть добавлено, чтобы быть равным самому числу?
Мои шаги будут:
- Поместите делители чисел от 1 до 1000 в массив
- Получите эти числа, когда сумма делителей (включая 1, но не самого себя) больше, чем само число, и измените размер массива только на эти числа.
- Я должен проверить каждое подмножество делителей оставшегося числа и удалить их, когда подмножество делителей может быть равно самому числу.
Не могли бы вы мне помочь, если это хороший подход или кто-нибудь из вас знает более эффективный / лучший способ?
Буду признателен за любую помощь!
ПРИМЕЧАНИЕ: я не хочу, чтобы вы это решали, я хочу это понять!