當下,坐公交或者地鐵時大部分人都是刷卡的。不過,時至今日還在用現金支付的人還是比想象的多。本題我們以安置在公交上的零錢兌換機為背景。
這個機器可以用紙幣兌換到 10 日元、50 日元、100 日元和 500 日元硬幣的組合,且每種硬幣的數量都足夠多(因為公交接受的最小額度為 10 日元,所以不提供 1 日元和 5 日元的硬幣)。
兌換時,允許機器兌換出本次支付時用不到的硬幣。此外,因為在乘坐公交時,如果兌換出了大量的零錢會比較不便,所以只允許機器最多兌換出 15 枚硬幣。譬如用 1000 日元紙幣兌換時,就不能兌換出“100 枚 10 日元硬幣”的組合( 圖5 )。
問題
求兌換 1000 日元紙幣時會出現多少種組合?注意,不計硬幣兌出的先后順序。
package main
import "fmt"
const (
coin10 = 10
coin50 = 50
coin100 = 100
coin500 = 500
)
func mostCount(money, coinDeno int)int{
mostC := money / coinDeno
if mostC > 15{
return 15
}else{
return mostC
}
}
func main(){
money := 1000
coin10MostCount := mostCount(money, coin10)
coin50MostCount := mostCount(money, coin50)
coin100MostCount := mostCount(money, coin100)
coin500MostCount := mostCount(money, coin500)
n := 0
for a:=0;a<=coin500MostCount;a++ {
for b:=0;b<=coin100MostCount;b++{
for c:=0;c<=coin50MostCount;c++{
for d:=0;d<=coin10MostCount;d++{
if 500*a + 100*b + 50*c + 10*d == money && a + b + c + d <= 15{
fmt.Printf("%d = 500*%2d + 100*%2d + 50*%2d + 10*%2d\n", money, a, b, c, d)
n++
}
}
}
}
}
fmt.Println("共", n, "種組合")
}
結果:
1000 = 500* 0 + 100* 5 + 50*10 + 10* 0
1000 = 500* 0 + 100* 6 + 50* 8 + 10* 0
1000 = 500* 0 + 100* 7 + 50* 6 + 10* 0
1000 = 500* 0 + 100* 8 + 50* 4 + 10* 0
1000 = 500* 0 + 100* 9 + 50* 1 + 10* 5
1000 = 500* 0 + 100* 9 + 50* 2 + 10* 0
1000 = 500* 0 + 100*10 + 50* 0 + 10* 0
1000 = 500* 1 + 100* 0 + 50* 9 + 10* 5
1000 = 500* 1 + 100* 0 + 50*10 + 10* 0
1000 = 500* 1 + 100* 1 + 50* 7 + 10* 5
1000 = 500* 1 + 100* 1 + 50* 8 + 10* 0
1000 = 500* 1 + 100* 2 + 50* 5 + 10* 5
1000 = 500* 1 + 100* 2 + 50* 6 + 10* 0
1000 = 500* 1 + 100* 3 + 50* 3 + 10* 5
1000 = 500* 1 + 100* 3 + 50* 4 + 10* 0
1000 = 500* 1 + 100* 4 + 50* 0 + 10*10
1000 = 500* 1 + 100* 4 + 50* 1 + 10* 5
1000 = 500* 1 + 100* 4 + 50* 2 + 10* 0
1000 = 500* 1 + 100* 5 + 50* 0 + 10* 0
1000 = 500* 2 + 100* 0 + 50* 0 + 10* 0
共 20 種組合
貌似復雜,做起來其實不難,把各種情況都讓計算機試一遍就好了。
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
網站題目:硬幣組合-創新互聯
當前鏈接:http://vcdvsql.cn/article38/jshpp.html
成都網站建設公司_創新互聯,為您提供ChatGPT、網站設計、軟件開發、網站內鏈、服務器托管、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯