這題是cs50的cash問題,用此問題順便介紹Greedy Algorithm。
背景
類似圖片的放零錢遊戲,有quarters($25), dimes($10), nickels($5)和pennies($1),要從最大金額放到最小金額,而且要用最少的硬幣數量得到該金額。假設有41元,可以算出25元硬幣1個,10元硬幣1個,5元硬幣一個和1元硬幣1個,所以最少需要四個硬幣。
Greedy Algorithm
中文稱作貪婪演算法,一種每一步都使用當下狀態的最佳解(最有利選擇),從中希望能導致所有選擇中的最佳解。
Code
程式碼用C語言撰寫,有任何問題可以留言討論。
1 |
|