Я просто хотел бы узнать лучший способ перечисления всех целочисленных факторов числа, учитывая словарь его простых факторов и их экспонентов.
Например, если мы имеем {2: 3, 3: 2, 5: 1} (2 ^ 3 * 3 ^ 2 * 5 = 360)
Тогда я мог бы написать:
for i in range(4):
for j in range(3):
for k in range(1):
print 2**i * 3**j * 5**k
Но здесь у меня есть 3 ужасных цикла. Можно ли абстрагировать это на функцию, заданную любой факторизацией в качестве аргумента объекта словаря?