数字的质因数

找到并返回一个数字的质因数列表。

  • 使用while循环来遍历所有可能的质因数,从2开始。
  • 如果当前的factor能够整除num,则将factor添加到factors列表中,并将num除以factor。否则,将factor增加一。
def prime_factors(num):
  factors = []
  factor = 2
  while (num >= 2):
    if (num % factor == 0):
      factors.append(factor)
      num = num / factor
    else:
      factor += 1
  return factors

prime_factors(12) # [2,2,3]
prime_factors(42) # [2,3,7]