×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#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