算法思想 | 枚举 之 百元买百鸡问题
2021-09-24 286
背景
枚举算是算法思想里最简单的一种思想了,只需将所有情况都列出来,找到答案即可。
问题
有公鸡、母鸡、小鸡三种,公鸡4元、母鸡3元、小鸡0.5元,手上有K元钱,K为正整数,需要买K只鸡,请列出所有可能的情况。
代码
// 算法思想-枚举 func EnumAlgo(nums int) [][]int { // 公鸡价格 price1 := 4 // 母鸡价格 price2 := 3 // 小鸡价格 price3 := 0.5 result := [][]int{} for i := 0; i <= nums; i++ { for j := 0; j <= nums-i; j++ { for k := 0; k <= nums-i-j; k++ { total := float64(i*price1) + float64(j*price2) + float64(k)*price3 if float64(nums) == total { result = append(result, []int{i, j, k}) } } } } return result }