go 语言百钱百鸡代码实现

/*
一只公鸡5文钱  cock
一只母鸡3文钱 hen
一文钱可以买3只小鸡 biddy
现在有100文钱需要买总共100只鸡,可以怎么买
 */

func main01() {
   //百钱百鸡1
   count := 0 //计数器
   for cock := 0; cock <= 20; cock++ {
      for hen := 0; hen <= 33; hen++ {
         for biddy := 0; biddy <= 100; biddy += 3 {
            count++
            if cock+biddy+hen == 100 && 5*cock+3*hen+biddy/3 == 100 {
               fmt.Printf("公鸡:%d,母鸡:%d,小鸡:%d \n", cock, hen, biddy)
            }
         }
      }
   }
   fmt.Print(count)
}

//百钱百鸡 算法优化
func main02() {
   count := 0
   for cock := 0; cock <= 20; cock++ {
      for hen := 0; hen <= 33; hen++ {
         count++
         biddy := 100 - cock - hen
         if biddy%3 == 0 && cock+biddy+hen == 100 && 5*cock+3*hen+biddy/3 == 100 {
            fmt.Printf("公鸡:%d,母鸡:%d,小鸡:%d \n", cock, hen, biddy)
         }
      }
   }
   fmt.Print(count)
}

你可能感兴趣的:(算法)