動態規劃題目(一) 換零錢

2021-06-27 12:30:22 字數 669 閱讀 8052

動態規劃題目(一)——換零錢

想兌換100元錢,有1,2,5,10四種錢,問總共有多少兌換方法。

下面提供兩種實現方式,其中**注釋的很清楚。

關於動態規劃的基本原理,參考:

//動態規劃 

#includeusing namespace std;

const int n = 100;

int dimes = ;

int arr[n+1] = ;

int coinexchangerecursion(int n, int m) //遞迴方式實現,更好理解

int main()

; int arr[n+1] = ;

int coinexchange(int n) //非遞迴實現

return arr[n];

} int main()

{ int num=coinexchangerecursion(n, 4);

cout<

大家可以看出來,遞迴方式求解比較便於理解。當時,我們一定也要掌握非遞迴方式的實現,雖然它不太好想,例如上面的

arr[j] += arr[j-dimes[i]];

這一句。當時非遞迴方式的有效性是有目共睹的!

換零錢問題(詳解) 動態規劃

經典找零錢問題。領給你乙個陣列arr,和乙個整數aim.如果可以任意選擇arr中的陣列,能不能累加得到aim.返回true或者false。左神版。package 演算法初級 import tool.myarraystool title 換零錢問題 description 給你乙個陣列arr,和乙個整...

換零錢 見解

n元錢換為零錢,有多少不同的換法?幣值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。例如 5分錢換為零錢,有以下4種換法 1 5個1分 2 1個2分3個1分 3 2個2分1個1分 4 1個5分 由於結果可能會很大,輸出mod 10 9 7的結果 input 輸入1個數n,n...

換零錢 動態規劃解法 C語言描述

已知有三種人民幣,分別為1元 2元 5元。求10元可以有多少種換成上述三種零錢的方法 不限制每種人民幣的數量 設有a種面值的人民幣,設總 為b,取a種面值中的一種,設其面值為d,則有 使用a種面值將總 b換取零錢的方法數量 使用a種面值將總 b d 換取零錢的方法數量 使用 a 1 種面值將總 b換...