現在有1元、5元、10元、50元、100元、500元的硬幣,有c1
, c2
,c3 ,c4
, c5
。 現在需要用這些硬幣來支付a元,最少需要多少硬幣?
輸入需要輸入5種硬幣的數量和需要支付的錢
輸出需要有用了多少硬幣以及每種硬幣各花了多少
10000 100 50 20 10 5
5000
cost =85: 1(0) 5(0) 10(50) 50(20) 100(10) 500(5)
用貪心法來解決
#include
using
namespace
std;
int main() ;
int rmbnumber[6];
int pay;
for (int i = 0; i < 6; i++)
cin >> pay;
int cost = 0;
for (int i = 5; i >= 0; i--)
if (pay > 0)
cout
<< "cost = "
<< cost << ": ";
for (int i = 0; i < 6; i++)
cout
<< endl;
return
0;}
練習題 No 4 字典序最小問題(貪心法)
給定長度為n的字串s,要構造乙個長度為n的字串t。起初,t是乙個空串,隨後反覆進行下列任意操作。1.從s的頭部刪除乙個字元,加到t的尾部。2.從s的尾部刪除乙個字元,加到t的尾部 第一行輸入一行字串輸出字串tacdbcbabcbcd此題用貪心法,從頭或者尾選乙個較小的。比較頭尾的二個字元大小,將加的...
練習題目2
1 將陣列a中的內容和陣列b中的內容進行交換 陣列一樣大 思路 新建乙個陣列作為中間陣列進行交換.如下 2 計算1 1 1 2 1 3 1 4 1 5 1 99 1 100的值.思路 通過每一輪迴圈給分子乘以 1來控制加數的正負號,計算出和.如下 3 編寫程式數一下1到199的所有整數 現過多少次數...
程式練習題 2
考慮如下的序列生成演算法 從整數 n 開始,如果 n 是偶數,把它除以 2 如果 n 是奇數,把它乘 3 加1。用新得到的值重複上述步驟,直到 n 1 時停止。例如,n 22 時該演算法生成的序列是 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1。人們猜想 沒有...