找零錢 貪心

2021-06-27 01:59:57 字數 715 閱讀 9239

在有1,2,5,10,20,50,100面值的人名幣若干。你的任務就是用最少的張數來找錢。如需要找23元,我們用一張20,一張2元,一張1元即可。所以3張就是最少的張數。

description

輸入多組資料,第一行n(n <= 100),表示有多少組錢需要找,第2 ~ n + 1行,輸入要找的錢m(m>=0);

input

輸出每組最少的張數

output 123

42 236

sample input 3 2

貪心演算法就是查詢最優的方案。

這個題中有簡單的思想:給出乙個數,讓這個數和b[7]=依次進行比較,如果這個數大於b[ i ],讓n/ b [ i ],這樣就找出了有多少個b [ i ],然後再n%b【i】,即餘數進行計算,這一步用遞迴實現。 

#include

int main()

}return 0;

}int look(int m)

;if(m==0)

return 0;

else }}

舉個栗子。。。

如果這個數是879.進行比較879>100所以有8個100,然後餘數為79,再進行比較79>50,所以有1個50,餘數29,一次,1個20,1個5,2個2,所以一共有8+1+1+1+2=13張錢。

這個不用考慮是不是張數最少,因為是從最大的錢開始向下遍歷的。

sample output

貪心找零錢

楚喬 宇文玥和燕洵在日本旅行,經過了幾天的遊玩之後,錢包裡出現了大量硬幣,楚喬決定用錢包裡的硬幣為宇文玥和燕洵在自動販賣機買水。楚喬的錢包裡有1元 5元 10元 50元 100元和500元硬幣各c1,c5,c10,c50,c100,c500枚。現在要用這些硬幣來到自動販賣機買 為a的飲料,假設自動販...

找零錢問題

問題描述 我們知道人民幣有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結束。輸出該面額有幾種表示方法。使用動...