质数又称素数。一个大于11的自然数,除了11和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数。
请将一个正整数nn分解质因数,从小到大的顺序返回其质因子。
示例1
输入
100
输出
[2,2,5,5]
说明
100=225*5
示例2
输入
17
输出
[17]
备注:
1<n<=1e91<n<=1e9
题目来源于牛客网
链接https://www.nowcoder.com/questionTerminal/3a52a452af364c4491fe09ae03e66a43?toCommentId=9641267
代码:
import math
class Solution:
def primeFactorization(self , n ):
res=list()
if n<=3:
res.append(n)
if n>=4:
x=2
while n>=x**2:
if n%x!=0:
x=x+1
if n%x==0:
res.append(x)
n=int(n/x)
res.append(n)
return res