235 · 分解质因数

描述
将一个整数分解为若干质因数之乘积。

你需要从小到大排列质因子。

样例
样例 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是一个素数。

原文地址:https://www.cnblogs.com/bernieloveslife/p/14664663.html