演算法實踐 最少零錢問題

2021-10-06 22:04:42 字數 472 閱讀 4575

參考程式

#include

#include

#include

#define max 20002

#define inf 9999999

#define min(a,b) (a)>(b)?(b):(a)

int t[11],coins[11],n;//硬幣面值陣列 t,可以使用的各種面值的硬幣個 數陣列 coins,n 種不同面值的硬幣

int c[max];//陣列 c存放要找的最少硬幣個數

int m; //要找的錢數 m

void init()

cout<

cin>>m;

}int main()

}if(c[m]!=inf)

cout<

else

cout<

return 0;

}請改寫程式,除了輸出最少硬幣個數,還輸出每種面額的硬幣各用了多少個。

貪心 帶最少的零錢

你就要去購物了,現在你手上有n種不同面值的硬幣,每種硬幣有無限多個。為了方便購物,你希望帶盡量少的硬幣,但要能組合出1到x之間的任意值。第一行兩個數x n,以下n個數,表示每種硬幣的面值。資料規模 對於30 的資料,滿足n 3,x 20 對於100 的資料,滿足n 10,x 1000.最少需要攜帶的...

找零錢問題

問題描述 我們知道人民幣有1 2 5 10 20 50 100這幾種面值。現在給你n 1 n 250 元,讓你計算換成用上面這些面額表示且總數不超過100張,共有幾種。比如4元,能用4張1元 2張1元和1張2元 2張2元,三種表示方法。輸入有多組,每組一行,為乙個整合n。輸入以0結束。輸出該面額有幾...

找零錢問題

人民幣有1 2 5 10 20 50 100這幾種面值。現在給你n 1 n 250 元,讓你計算換成用上面這些面額表示且總數不超過100張,共有幾種。比如4元,能用4張1元 2張1元和1張2元 2張2元,三種表示方法。輸入有多組,每組一行,為乙個整合n。輸入以0結束。輸出該面額有幾種表示方法。使用動...