#39439:


zurichyofficial@gmail.com (Zurichyoz)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 248708
來源 : [111.80.22.20]
最後登入時間 :
2024-10-18 16:00:44
a010. 因數分解 | From: [111.80.92.0] | 發表日期 : 2024-02-21 20:43

這樣會通過,本來後面不用那麼累贅,但如果input是半質數的時候我把list轉成set他的排序會變得由大而小而不是執行出來的由小而大,有解嗎
 
n = int(input())

 

olist, flist, dlist, mlist = [], [], [], []

 

i, ap = 2, 0

 

while True:
if n == i:
olist.append(i)
break
else:
pass
if n % i == 0:
olist.append(i)
n //= i
ap += 1
else:
pass
if ap == 0:
i += 1
else:
pass
ap = 0

 

mlist = set(olist)
mlist = list(mlist)
mlist = sorted(mlist)
dlist.extend(mlist)
for j in dlist:
if olist.count(j) != 1:
flist.append(f"{j}^{olist.count(j)}")
else:
flist.append(j)

 

print(*flist, sep=" * ")
 
ZeroJudge Forum