硬幣找零問題 貪心演算法

2021-10-24 19:46:25 字數 614 閱讀 4095

問題:

有1元、2元、5元、10元的硬幣無限多枚。現在要用這些硬幣來支付a(輸入)元,返回需要多少枚硬幣的找零序列。

能找回高面值硬幣就先找回高面值硬幣。

#include

#include

using

namespace std;

class

sulotion

;//用來儲存結果

int p = coins.

size()

-1;//從面值最高的硬幣開始

while

(money)

return result;}}

;int

main()

; vector<

int> result = s.

change

(coins, money)

;for

(auto r : result)

return0;

}

執行結果:

貪心演算法解硬幣找零問題

假如有一種貨幣,它有面值為1分 2分 5分和1角的硬幣,最少需要多少個硬幣來找出k分錢的零錢?按照貪心演算法的思想,需要不斷地使用面值最大的硬幣。如果要找零的值小於最大的硬幣值,則嘗試第二大的硬幣,依次類推。如下 include using namespace std define one 1 de...

貪心演算法經典問題 硬幣找零

這是乙個用最少硬幣支付指定額度的問題。一 問題描述 如下圖圖一,設有6種不同面值的硬幣,各硬幣的面值分別為5分 1角 2角 5角 1元 2元。現要用這些面值的硬幣來購物和找錢。購物時規定了可以使用的各種面值的硬幣個數。假定商店裡各面值的硬幣足夠多,顧客也可用多種方式支付,在一次購物中希望使用最少硬幣...

python演算法之貪心演算法(硬幣找零問題)

貪心演算法遵循某種既定原則,不斷地選取當前條件下最優的選擇來構造每乙個子步驟,直到獲得問題最終的求解。即在求解時,總是做出當前看來最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是區域性最優解。利用貪心演算法解題,需要解決以下兩個問題。是問題是否適合用貪心法求解,即所求解問題是否具有貪心選...