問題描述:給出幾種面值的硬幣,要求用這幾種硬幣找零出所給零錢數,用的硬幣數要最少。
那麼動態規劃又該如何解決,動態規劃在於在解決問題的途中用到之前的得到的答案。
**如下:
#includeusingnamespace
std;
//三個引數依次是硬幣面值陣列,硬幣種類,給出的零錢
void getmin(int *values,int valuekinds,int
money)}}
coinused[cent] =mincent;
coinusednum[cent] =moneyused;
}if(coinusednum[money] == 0
) else
}}int
main();
int money = 24
; getmin(a,
5,money);
}
硬幣找零問題(動態規劃)
給定指定的硬幣種類,面值為 1,3,5 在此具體化些 給定所找零的錢數 sum,給出最少的硬幣找零數,每個種類的硬幣無限使用。看到這問題,當時我想到用貪心演算法來求解,最後求解方案因為巧合對了,後來在網上看到動態規劃的題目,才知道貪心演算法得不到最優解,比如 給定 面值為 1,3,4,給定找零數為 ...
硬幣找零問題 動態規劃問題
看到了 這文章,由於我不太懂他的 所以我按他的題和思路,寫了 思路我就不寫了,就是動態規劃的思路,先保證區域性最優,再慢慢向全區域性最優 include include include include using namespace std const int m 100 int coinsum m...
動態規劃 硬幣找零
時間限制 1000 ms 記憶體限制 65535 kb 描述在現實生活中,我們經常遇到硬幣找零的問題,例如,在發工資時,財務人員就需要計算最少的找零硬幣數,以便他們能從銀行拿回最少的硬幣數,並保證能用這些硬幣發工資。我們應該注意到,人民幣的硬幣系統是 100,50,20,10,5,2,1,0.5,0...