#27032: 遞迴寫法


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
e932. pB. 數字拆解 -- 2014大學學測推甄申請二階 | From: [39.11.104.147] | 發表日期 : 2021-09-08 16:23

這題可以用遞迴來解答。我的想法是,把n拆成兩個數字1+(n-1),2+(n-2)...n/2+(n-n/2),如果在for迴圈用i來表示就是i+(n-i),然後再把每一項中比較大的數字n-i再拆開,特別注意的是n-i拆開後的兩個數字不能小於比較小的數字i,否則會重複計算。然後...就TLE了。所以有些地方還要再加速。

從上面的特別注意可以發現,當n-i<i*2時,n-i完全沒辦法再拆開了,所以for迴圈只要做到i=n/3就可以了,n/3+1到n/2不用再跑迴圈和遞迴,直接算個數就好了。

 
ZeroJudge Forum