在乙個國家僅有1分,2分,3分硬幣,將錢n兌換成硬幣有很多種兌法。請你程式設計序計算出共有多少種兌法。
input每行只有乙個正整數n,n小於32768。
output對應每個輸入,輸出兌換方法數。
sample input
2934
12553
sample output71883113137761
time limit1000 msmemory limit32768 kboswindows
思路:動態規劃、遞迴
**如下:
#include#include#include#includeusing namespace std;
/*初始思路定義乙個二維陣列num[i][j]。
其中i代表可以兌換成硬幣的種類,
j代表所兌換成的金額,陣列值表示該兌換金額下有多少種兌換方法。
然後利用遞迴將不同兌換金額的兌換方式表達出來。
*/long long num[40000];//因為已知3種硬幣,所以陣列由二維轉變成一維。
int main()
while(~scanf("%d",&n))
return 0;
}
動態規劃入門 揹包問題(01 完全 多重)
一 揹包問題 1 01 揹包 給定 n 種物品和乙個容量為 c 的揹包,物品 i 的重量是 wi,其價值為 vi 問 應該如何選擇裝入揹包的物品,使得裝入揹包中的物品的總價值最大?分析 對於每個物品,我們都有兩種選擇,取和不取。我們可以定義乙個二維陣列dp i j 表示有i件物品,揹包容量為j時獲得...
動態規劃入門 揹包問題
有n個重量和價值分別為wi,vi的物品。從這些物品中選出總重量不超過w的物品,求所有挑選方案中價值總和的最大值。在這裡,每個物品只能選一件。1 n 100 1 wi,vi 100 1 w 10000 n 4 w,v w 5 7 選擇0 1 3號物品 暴力法 複雜度o 2n include inclu...
動態規劃入門之揹包問題
int value maxlen 前i種物品中取若干種,在總體積不超過j的條件下取得的最大值 int weight 3500 int dvalue 3500 int main i 1時 for int j 1 j m j for int i 2 i n i for int j m j 0 j cou...