描述
将一个整数分解为若干质因数之乘积。
你需要从小到大排列质因子。
样例
样例 1:
输入:10
输出:[2, 5]
样例 2:
输入:660
输出:[2, 2, 3, 5, 11]
class Solution:
"""
@param num: An integer
@return: an integer array
"""
def primeFactorization(self, num):
res = []
i = 2
while num != 1 and i*i<=num:
if num % i == 0:
num /= i
res.append(i)
else:
i += 1
return res if num == 1 else res + [int(num)]
注意啊,不需要先算出来所有素数,多此一举。
另外,不需要算到num,如果i*i>num,就说明num是一个素数。