#41773: python 可以使用集合蒐集因數


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 不指定學校
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2024-10-22 20:00:38
c184. 盈虧互補 -- 板橋高中教學題 | From: [123.192.228.253] | 發表日期 : 2024-08-25 11:56

當我們在討論一個數字的因數時,我們會這樣說:

  • 1 的因數為 (1)
  • 6 的因數為 (1, 2, 3, 6)
  • 7 的因數為 (1, 7)
  • 25 的因數為 (1, 5, 25)
  • 36 的因數為 (1, 2, 3, 4, 6, 9, 12, 18, 36)

注意到細節了嗎?如果有重複的因數,我們不會重複寫出來,而是視為同一個

  • 1 的因數不是 (1, 1),而是 (1)
  • 25 的因數不是 (1, 5, 5, 25),而是 (1, 5, 25)

一系列不重複的元素,這不就是集合(set)的特性嗎?

於是我們可以使用集合(set)蒐集所有因數,就不需要透過額外的 if 處理重複因數的問題

需要特別注意集合(set)是無序的,但這題輸出因數時應由小排到大,怎麼處理就自己思考。

 

至於怎麼找因數......很多人都有提到,這裡就不贅述了

 

 

類題: d010 (比較簡單)

真的沒頭緒再點: gist 

 
ZeroJudge Forum