這題其實就是典型的換硬幣的dp問題
簡單來說把硬幣想成有8種,分別為coin[8]={1,13,33,43,139,169,1309,2597}
接下來建立一個有8001個位置的dp陣列
其中dp[i]代表用這8個硬幣湊到 i 元有多少種可能
首先我們令dp[0]=1
接下來找第一種硬幣可以湊齊第 i+coin[0] 元有幾種可能性
也就是dp[i+coin[0]]=dp[i]+dp[i+coin[0]]
其中i的範圍是從0~8000-coin[0]
接下來還有7種硬幣等著你來做,我就不多說明了(用迴圈吧)
關於換硬幣dp問題得更詳細說明,大家可以參考 演算法筆記 換硬幣