hoji的個人技術部落格(分享乾貨的地方,歡迎來訪,部落格秉持訪客體驗感優先的原則,希望每一位到訪者都心情愉悅、收穫滿滿)
公園票價為5角
。假設每位遊客只持有兩種幣值的貨幣:5角、1元。
再假設持有5角的有m人
,持有1元的有n人
。
由於特殊情況,開始的時候,售票員沒有零錢可找。
我們想知道這m+n
名遊客以什麼樣的順序購票則可以順利完成購票過程。
顯然,m < n的時候,無論如何都不能完成;
m>=n的時候,有些情況也不行。比如,第乙個購票的乘客就持有1元。
請計算出這m+n名遊客所有可能順利完成購票的不同情況的組合數目。
注意:只關心5角和1元交替出現的次序的不同排列,持有同樣幣值的兩名遊客交換位置並不算做一種新的情況來計數。
從最後乙個人購票開始考慮,假設m+n-1
個人已經買好票了,對於第m+n
個人他有兩種買票情況:
而對於第m+n-1
個人,因為已經假設已有m+n-2
個人買好票,則其買票情況也有兩種,持5角買票,或持1元買票,… ,最後當第二個人買票時,他有兩種買票情況,持5角買票,或持1元買票,最後直到第乙個人,也同上述所述。
/**
* @author: hoji
* @description:
* @date: 11/15/2019 7:24 pm
*/public
class 找錢問題
if(n ==0)
changemoney
(m-1
, n)
;changemoney
(m, n-1)
;}public
static
void
main
(string[
] args)
}
這裡說明一下:為什麼m==1
是倒數第二個人,因為當if(m==1)
成立之前要滿足m>n
,故m==1
時,n==0
硬幣找錢問題
設有6種不同面值的硬幣,各硬幣的面值分別為5分 1角 2角 5角 1元和2元。現在要用這些面值的硬幣來購物和找錢。購物時可以使用的各種面值的硬幣個數存於陣列coins 1 6 中,假設商店裡各面值的硬幣有足夠多。對於給定的付款金額,計算使用硬幣個數最少的交易方案。輸入資料的每一行有6個整數和乙個有2...
Problem 找錢問題
time limit 1 sec memory limit 64 mb submit 12397 solved 3423 買火車票時經常會碰到找錢問題。售票員手中有50 20 10 5 1元的錢幣,你知道怎麼找錢才能使找回的零錢張數最少嗎?多組測試資料,輸入需要找錢的錢數 輸出按下面格式 第一行輸出...
硬幣找錢問題
硬幣找錢問題 time limit 1000ms memory limit 65536k total submit 3 accepted 1 description 設有6 種不同面值的硬幣,各硬幣的面值分別為5 分,1 角,2 角,5 角,1 元,2元。現要用這些面值的硬幣來購物和找錢。購物時可以...