From edc052bc779c923cd028e7ac008175ea163c32b7 Mon Sep 17 00:00:00 2001 From: VicRen Date: Mon, 30 Nov 2020 09:07:02 +0800 Subject: [PATCH] 20201130 --- 20201130/main.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 20201130/main.go diff --git a/20201130/main.go b/20201130/main.go new file mode 100644 index 0000000..8cc63e4 --- /dev/null +++ b/20201130/main.go @@ -0,0 +1,24 @@ +package main + +import "fmt" + +var prices = []int{6, 8, 12, 14, 18, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44} +var pricesWithAll = []int{6, 8, 12, 12, 12, 12, 12, 14, 14, 18, 22, 22, 22, 24, 24, 26, 26, 26, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44} + +func main() { + fmt.Println(sumCoins(50, prices)) + fmt.Println(sumCoins(100, prices)) + fmt.Println("paid = 50", sumCoins(50, pricesWithAll)) + fmt.Println("paid = 100", sumCoins(100, pricesWithAll)) +} + +func sumCoins(target int, prices []int) int { + t := make([]int, target+1) + t[0] = 1 + for _, c := range prices { + for j := c; j <= target; j++ { + t[j] += t[j-c] + } + } + return t[target] +}