def prime_factorization(n):
factors = []
i = 2
while i * i <= n: # 只需要檢查到 sqrt(n)
while n % i == 0:
factors.append(i)
n //= i # 除去該因數
i += 1
if n > 1: # 剩下的數字也是質數
factors.append(n)
return factors
print(prime_factorization(60)) # 🔹 輸出: [2, 2, 3, 5]
def prime_factorization(n):
factors = []
for i in range(2,int(n**0.5)+1):
if n % i == 0:
while n % i == 0:
factors.append(i)
n = n // i
if n > 1:
factors.append(n)
return factors