我创建了一个函数,它的输入是一个自然数n
,输出是它的素因子的list
。例如,对于输入100
,它返回[2, 2, 5, 5]
我想创建一个函数
- 将我的输出的
list
转换为一个更整洁的输出,其中相同的素因子被组合(在我的列表中,素因子按非降序排列)为幂。在上面的示例中,[2^2, 5^2]
李> - 从这个新列表返回
n
的除数的list
李>
特别是,一旦我拥有了list
的权力,
[p_1^{n_1},..., p^_k{n_k} ]
我想迭代以获得所有的倍数p_1^{a_1}* ... *p^_k{a_k}
,
,其中a_i
不是负数,小于或等于n_i
Tags:
对于#1,如果您创建一个defaultdict,其中键是数字,值是它出现的次数,那么您应该能够实现您的目标
对于#2来说,很难确定你想做什么。您可能需要提供一些额外的细节或澄清
我想您应该在这里使用Counter:
像
divisors(60, neatify([60, 2, 2, 5]))
一样使用它相关问题 更多 >
编程相关推荐