Avatar ·

算法查找一个数的所有除数

📁 功能, 列表, python, 示例

大家好!在解题时需要从网上找一个算法来找出数的所有除数。也就是说对于8需要输出[1,2,4,8],而不是[2,2,2]这样的除数列表。我重新编写了这个算法,请"各位前辈"指点如何改进。如果有时间的话))

def divisorss(n):    from collections import Counter    ls = get_ls(n)                  # 对于 n=1568 -> ls = [2, 2, 2, 2, 2, 7, 7]    pairs = dict(Counter(ls))       #  {2: 5, 7: 2}    from itertools import product, starmap    from operator import mul    from functools import reduce    # 所有不同除数的列表    bases = [b