Я создал функцию, чье входное значение является натуральным числом n
, а ее выходным значением является list
ее простых множителей. Например, для ввода 100
возвращается [2, 2, 5, 5]
.
Я хотел бы создать функцию, которая
- преобразует
list
моего результата в более чистый, где объединяются одни и те же простые факторы (в моем списке основные факторы упорядочены в порядке убывания) в степень. В приведенном выше примере [2^2, 5^2]
. - возвращает
list
делителей n
из этого нового списка.
В частности, когда у меня есть list
с полномочиями, [p_1^{n_1},..., p^_k{n_k} ]
Я хотел бы повторить, чтобы получить все кратные как p_1^{a_1}* ... *p^_k{a_k}
, где a_i
не являются отрицательными и меньше или равны n_i
.