Python 題目

PROBLEM

質因數分解(Prime Factorization)

#python #程式碼

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