#36887: python 解題思路


tu.a.yuan.2022@gmail.com (凃阿鳶)

學校 : 新北市立板橋高級中學
編號 : 239751
來源 : [1.162.99.92]
最後登入時間 :
2024-06-15 20:43:01
a010. 因數分解 | From: [1.162.140.251] | 發表日期 : 2023-08-14 21:08

由輸出「2^2 * 5」可知一個數字有對應的次數(字典),且是以乘號為分割的單行輸出(列表)

 

創造factors字典儲存因數及對應的次數

運用while i * i <= n進行有限循環

運用if/else判斷i是否為n的因數

運用if/else判斷是新增i至字典內還是將i的次數加一

運用if假設如果n>1且不再字典,重複上一個步驟

 

創造formatted列表

運用for循環factors中的每一個鍵值對

運用items()調出key, value

如果value = 1,添加key至formatted

如果value > 1,添加f"{key}^{value}至formatted

運用join()將乘號作為分割點

 

注意:join()行應為此式樣," * ".join(formatted)

 

補充:敝人在解題時是運用def打包函式的,提高了可讀性,各位可以試試,結尾記得加上return

 
ZeroJudge Forum