×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#30899: python 使用字典、集合
Akira_chi
(unknown)
學校 : 不指定學校
編號 : 194818
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [59.120.185.108]
最後登入時間 :
2022-06-24 14:55:58
a024.
最大公因數(GCD)
| From: [59.120.185.108] | 發表日期 : 2022-06-20 16:43
非快速解,純分享作法
建立字典紀錄因式分解的結果,key=質因數, value=次方數
把兩個字典的key找出來並轉為集合
求出兩個集合的交集(公因數)
再由公因數去找出各自最小次方數,乘起來
Getfactor(x) : 找出X的質因數分解並建成字典後回傳
for x in a:
fact_Matrix.append(Getfactor(x))
#print (fact_Matrix)
for i in fact_Matrix:
key_Matrix.append(set(i.keys()))
inter_section = key_Matrix[0] & key_Matrix[1]
base = list(inter_section)
Sum = 1
for x in base:
Sum *= x**min(fact_Matrix[0].get(x), fact_Matrix[1].get(x))
print(Sum)
ZeroJudge Forum