#45366: 最原始(?)的解題法


yuyuitw62@gmail.com (余月染)

學校 : 不指定學校
編號 : 301342
來源 : [220.143.150.122]
最後登入時間 :
2025-03-21 12:20:50
a010. 因數分解 | From: [114.39.30.125] | 發表日期 : 2025-02-20 10:10

完全的編程小白,分享一下解題思路hhh
 
number = int(input())
factor = []
i = 2
k = 0

 

while number > 1:
    if number % i == 0:
        number = number // i
        k = k + 1
    elif number % i != 0 and k > 1:    #將因數i的次方加入factor中
        factor.append(f'{i}^{k}')
        i = i + 1
        k = 0
    elif number % i != 0 and k == 1:    #處理次方為1的情況(不顯示次方)
        factor.append(f'{i}')
        i = i + 1
        k = 0
    elif number % i != 0 or k == 0:   # i 不是因數,換下一個數字
        i = i + 1
#跳脫迴圈的條件為 number == 1,此時i為最後一個因數未加入factor中

 

if k > 1:  #最後一個因數
    factor.append(f'{i}^{k}')
elif k == 1:
    factor.append(f'{i}')

 

factor_str = ' * '.join(factor)
#將列表中的元素連接成一個字串,並用 * 分隔
 
 
就醬,笨笨的我搞了好久w
 
ZeroJudge Forum