假如有一種貨幣,它有面值為1分、2分、5分和1角的硬幣,最少需要多少個硬幣來找出k分錢的零錢?
按照貪心演算法的思想,需要不斷地使用面值最大的硬幣。如果要找零的值小於最大的硬幣值,則嘗試第二大的硬幣,依次類推。
**如下:
#include
using namespace std;
#define one 1
#define two 2
#define five 5
#define ten 10
int main()
while (money>=five)
while (money>=two)
while (money>=one)
//輸出結果
cout<
雖然貪心演算法不是對所有問題都能得到整體的最優解,但是實際應用中的許多問題都可以使用貪心演算法得到最優解。有時即使使用貪心演算法不能得到問題的最優解,但最終結果也是較優的解
硬幣找零問題 貪心演算法
問題 有1元 2元 5元 10元的硬幣無限多枚。現在要用這些硬幣來支付a 輸入 元,返回需要多少枚硬幣的找零序列。能找回高面值硬幣就先找回高面值硬幣。include include using namespace std class sulotion 用來儲存結果 int p coins.size ...
貪心演算法經典問題 硬幣找零
這是乙個用最少硬幣支付指定額度的問題。一 問題描述 如下圖圖一,設有6種不同面值的硬幣,各硬幣的面值分別為5分 1角 2角 5角 1元 2元。現要用這些面值的硬幣來購物和找錢。購物時規定了可以使用的各種面值的硬幣個數。假定商店裡各面值的硬幣足夠多,顧客也可用多種方式支付,在一次購物中希望使用最少硬幣...
python演算法之貪心演算法(硬幣找零問題)
貪心演算法遵循某種既定原則,不斷地選取當前條件下最優的選擇來構造每乙個子步驟,直到獲得問題最終的求解。即在求解時,總是做出當前看來最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是區域性最優解。利用貪心演算法解題,需要解決以下兩個問題。是問題是否適合用貪心法求解,即所求解問題是否具有貪心選...