錢幣找零問題

2021-10-03 21:23:09 字數 812 閱讀 3848

題目:

假設1元、2元、5元、10元、20元、50元、100元的紙幣分別有c0, c1, c2, c3, c4, c5, c6張。

現在要用這些錢來支付k元,至少要用多少張紙幣?

用貪心演算法的思想,

很顯然,每一步盡可能用面值大的紙幣即可。

在日常生活中我們自然而然也是這麼做的。在程式中已經事先將value按照從小到大的順序排好。

使用貪心來解決,思路:

從最大值100元開始計算,根據自己現有的對應金錢的票數進行取最小值

例如:現有有500元,但是你100元只有四張,對於100能夠約分得到5,但是實際剩餘只有4張,所以兩者取最小值,並且根據每次求出的減去在進行運算,得出最後money是否為0,如果是那麼就夠,不是說明不能

#include

#include

#include

using

namespace std;

const

int n=7;

int count[n]=;

//對應錢的現有張數

int value[n]=;

//若是能夠合理得到那麼就會返回張數,否則返回-1

intcount_money

(int money)

if(money==0)

return num;

else

return-1

;}intmain()

錢幣找零問題

錢幣找零問題 這個問題在我們的日常生活中就更加普遍了。假設1元 2元 5元 10元 20元 50元 100元的紙幣分別有c0,c1,c2,c3,c4,c5,c6張。現在要用這些錢來支付k元,至少要用多少張紙幣?用貪心演算法的思想,很顯然,每一步盡可能用面值大的紙幣即可。在日常生活中我們自然而然也是這...

C 貪心演算法 錢幣找零問題

問題描述 假設1元 2元 5元 10元 20元 50元 100元的紙幣分別有c0,c1,c2,c3,c4,c5,c6張。現在要用這些錢來支付k元,至少要用多少張紙幣?用貪心演算法的思想,很顯然,每一步盡可能用面值大的紙幣即可。在日常生活中我們自然而然也是這麼做的。實現 using system na...

買票找零問題

問題描述 一場激烈足球賽即將開始,售票員緊張地賣票著 每張球票50元,現在有2n 1 n 18 個球迷排隊購票,其中n個手持50元鈔票,另外n個手持100元鈔票。假設開始售票時售票處沒有零錢可以找零。問這2n個人有多少種排隊方式,不至使售票處出現找不出零的局面?例如當n 3時,共6人,3人持50元,...