プログラミングコンテストチャレンジブック(2-2)
「できるだけ少ない数の硬貨で支払うには?」というよくある問題。minとかmaxが見当たらなかったので自分で定義した。
package main import "fmt" func min(i,j int) int { if i < j { return i } return j } func main() { ans := "" A := 620 coins := [6]int{500,100,50,10,5,1} num := [6]int{2,0,3,1,2,3} for k, coin := range(coins){ t := min(A/coin,num[k]) A -= t * coin ans += fmt.Sprintf("%d: %d ",coin,t) } fmt.Printf("%s\n",ans) }
まだまだ初級編