Это интересный вопрос гораздо сложнее, чем кажется, и не ответили. Вопрос может быть разложен на 2 очень разные вопросы.
1 дано N, найти список L простых факторов N в
2 дано L, рассчитать количество уникальных комбинаций
Все ответы я вижу до сих пор относятся к # 1 и не упомянуть это не послушное для огромных чисел. Для среднего размера N, даже 64-битных чисел, это легко; для огромного N, проблема факторинга может занять «навсегда». Шифрование с открытым ключом зависит от этого.
Вопрос № 2 нуждается в большем количестве обсуждения. Если L содержит только уникальные номера, это простой расчет с использованием комбинации формулы для выбора K объектов из п элементов. На самом деле, вы должны суммировать результаты от применения формулы при варьировании K от 1 до SizeOf (L). Однако, L, как правило, содержит несколько вхождений нескольких простых чисел. Например, L = {2,2,2,3,3,5} является факторизация N = 360. Теперь эта проблема довольно сложно!
Подтвердив # 2, данный набор С, содержащую элементы K, таким образом, что элемент А имеет «дубликатов, а пункт Ь имеет B» дубликатов и т.д., сколько уникальных комбинаций 1 до K-1 элементы есть? Например, {2}, {2,2}, {2,2,2}, {2,3}, {2,2,3,3} должно происходить каждый раз и только один раз, если L = {2,2 , 2,3,3,5}. Каждый такой уникальный суб-коллекция представляет собой уникальный делитель N путем умножения элементов в суб-коллекции.