硬幣問題(典型的貪心演算法)

2021-09-24 12:22:30 字數 626 閱讀 4723

有1元,5元,10元,50元,100元,500元的硬幣各c1 , c5 , c10 , c50 , c100 , c500 枚。現在要用這些硬幣來支付a 元,最少需要多少枚硬幣?假設本題至少存在一種支付方案。

限制條件

0<=c1 , c5 , c10 , c50 , c100 , c500<=100000000000

0<=a<=1000000000000

樣例:輸入

c1=3,c5=2,c10=1,c50=3,c100=0,c500=2,a=620;

輸出6(500元硬幣1枚,50元2枚,10元1枚,5元2枚,合計6枚)

(典型的貪心演算法:即盡量使用面額較大的硬幣)

c++:

#include

#include

#include

#include

using namespace std;

const int v[6]=;

int a;//需要支付錢數

int c[6];

int min(int a,int b)

printf("%d\n",ans);

}int main()

cin>>a;

solve();

}

程式設計 貪心演算法解決硬幣問題

問題描述 有1元 5元 10元 50元 100元 500元的硬幣各c1,c5,c10,c50,c100,c500枚。現在要用這些硬幣來支付a元,最少需要多少枚硬幣?假設本題至少存在一種支付方案。限制條件 0 c1,c5,c10,c50,c100,c500 10的9次方 0 a 10的9次方 輸入 c...

貪心演算法 硬幣問題(無限個)

貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,演算法得到的是在某種意義上的區域性最優解 1 貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇。也就是說,不從整體最優上加以考慮,做出的只是在某種意義上的區域性最優解。...

硬幣找零問題 貪心演算法

問題 有1元 2元 5元 10元的硬幣無限多枚。現在要用這些硬幣來支付a 輸入 元,返回需要多少枚硬幣的找零序列。能找回高面值硬幣就先找回高面值硬幣。include include using namespace std class sulotion 用來儲存結果 int p coins.size ...