動態規劃 最少鈔票組合

2021-10-06 13:51:18 字數 563 閱讀 3246

分鈔票,假設有 1塊 5塊 7塊 10塊 15塊 20塊的錢可用,如果要支付money元,問最少的組合方式

#include#include/**

*分鈔票,假設有 1塊 5塊 7塊 10塊 15塊 20塊的錢可用,如果要支付money元,問最少的組合方式

*/#define rmb_len 7

int rmb[rmb_len];

int *r = null;

int min(int a , int b)

int getnumrmb(int money)

int runrmb(int money)else if(money == 0)else if(r[money] != 0)

int ret = money;/*直接賦最多money張*/

for(int i = 1 ; i < rmb_len ;i++)

ret = min(1 + runrmb(money - rmb[i]) , ret);

}r[money] = ret;

return ret;

}

最少硬幣問題 動態規劃

需要找零x元,有n種面值硬幣,求找零最少需要硬幣個數的方法。這題如果用貪心演算法做,很可能無法得到最優解甚至無法無法找零,比如要找零11元,有三種硬幣,最優解是,用貪心就會先用10塊錢去消耗,那這題就無法完成。所以這題用動態規劃最合適,利用遞推和快取,動態規劃將問題拆分成若干個子問題,通過子問題的最...

最少錢幣數(動態規劃)

問題描述 這是乙個古老而又經典的問題。用給定的幾種錢幣湊成某個錢數,一般而言有多種方式。例如 給定了 6 種錢幣面值為 2 5 10 20 50 100,用來湊 15 元,可以用 5 個 2 元 1個 5 元,或者 3 個 5 元,或者 1 個 5 元 1個 10 元,等等。顯然,最少需要 2 個錢...

最少攔截系統 動態規劃)

某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的飛彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈.怎麼辦呢?多搞幾套系統唄 你說說...