增補部落格 第二十四篇 python 正整數的因子展開式

财神给你送元宝發表於2024-06-14

【題目描述】編寫程式,輸出一個給定正整數x(x>1)的質因子展開式。
【輸入格式】請在一行中輸入整數x的值。
【輸出格式】對每一組輸入的x,按以下格式輸出x的質因子展開式(假如x的質因子分別為a、b、c):x=abc
【輸入樣例】72
【輸出樣例】72=22233

def prime_factors(x):
    factors = []
    divisor = 2
    while x > 1:
        if x % divisor == 0:
            factors.append(divisor)
            x = x // divisor
        else:
            divisor += 1
    return factors

num = int(input("請輸入一個正整數 x(x > 1): "))
if num > 1:
    factors = prime_factors(num)
    if len(factors) == 1:
        print(f"{num} 為質數,質因子為: {factors[0]}")
    else:
        print(f"{num} 的質因子展開式為: {' x '.join(map(str, factors))}")
else:
    print("請輸入大於1的正整數。")

  

相關文章