zoukankan      html  css  js  c++  java
  • GO语言百钱百鸡

    package main
    
    //公鸡5钱1只,母鸡3钱一只,小鸡1钱三只 需要用百钱买百鸡
    //100钱的话 公鸡20或者母鸡33 小鸡100
    func main() {
        count := 0
        for i := 0; i <= 20; i++{
            for j := 0; j <= 33; j++ {
                for k := 0; k <= 100; k++ {
                    if i+j+k == 100 && i*5+j*3+k/3 == 100 && k%3 == 0 {
                        println(i, j, k)
                    }
                    count++
                }
            }
        }
        println(count)
    
        count = 0
        //优化1
        for i := 0; i <= 20; i++{
            for j := 0; j <= 33; j++ {
                for k := 0; k <= 100; k+=3 {
                    if i+j+k == 100 && i*5+j*3+k/3 == 100 {
                        println(i, j, k)
                    }
                    count++
                }
            }
        }
        println(count)
        
        count = 0
        println()
        //优化2 总共一百只鸡 100-公鸡-母鸡等于小鸡 只需要判断百钱
        for i := 0; i <= 20; i++{
            for j := 0; j <= 33; j++ {
                k := 100 - i - j
                if k % 3 == 0 && i*5+j*3+k/3 == 100{
                    println(i, j, k)
                }
                count++
            }
        }
        println(count)
    
        //优化3 k每次加三个 就避免了判断k%3==0, j<0 表明公鸡小鸡买的太多了,直接进入下一次迭代减少执行次数
        count = 0
        for i := 0; i <= 20; i++{
            for k := 0; k <= 100; k += 3 {
                j := 100 - i - k
                if j < 0 {
                    continue
                }
                if i*5+j*3+k/3 == 100{
                    println(i, j, k)
                }
                count++
            }
        }
        println(count)
    }

    优化三跑得快 输出如下

    0 25 75
    4 18 78
    8 11 81
    12 4 84
    72114
    0 25 75
    4 18 78
    8 11 81
    12 4 84
    24276

    0 25 75
    4 18 78
    8 11 81
    12 4 84
    714
    0 25 75
    4 18 78
    8 11 81
    12 4 84
    644

  • 相关阅读:
    分布式中各种概念汇总
    JMS
    spring boot jpa mysql
    spring boot 视图层(JAVA之学习-2)
    idea+spring boot的初学(JAVA学习之1)
    Yii在cli模式下执行一些脚本的配置
    在centos下安装django
    python简单的发送邮件
    ElasticSearch-PHP的API使用(二)
    Elasticsearch的PHP的API使用(一)
  • 原文地址:https://www.cnblogs.com/smatrchen/p/12922053.html
Copyright © 2011-2022 走看看