如何在Python中找到数字的素因子?

时间:2017-03-29 05:18:33

标签: python

我刚开始为自己打开python编程。我知道如何找到例如30的因素。我会得到[1,2,3,5,6,10,15,30]。 但我需要这个输出30 = 2 * 3 * 5.提前谢谢你!

1 个答案:

答案 0 :(得分:0)

由于您试图找到所有主要的,独特的因素,我使用以下功能:

def factor(numberToFactor, arr=list()):
    i = 2
    maximum = numberToFactor / 2 + 1
    while i < maximum:
        if numberToFactor % i == 0:
            return factor(numberToFactor/i,arr + [i])
        i += 1
    return list(set(arr + [numberToFactor]))

print(factor(59511555)) # [3, 5, 1747, 757]