美文网首页少儿编程教育
算法趣事·百元买百鸡

算法趣事·百元买百鸡

作者: GBangBang | 来源:发表于2018-09-18 12:17 被阅读0次

枚举法:列出问题所有的解,然后根据判断条件逐个验证对错。若满足判断条件,则问题解决。否则,问题无解。

设计模式:1.分析题目,确定可解的范围。2.设计循环结构,包括循环次数和判断条件,在循环体内对可能解逐一判定,直至求出问题解。3.为了提高解决问题的效率,使可能解的范围降至最小。注意,小心电脑罢工!

明明小试牛刀:1.百元买百鸡

假期来临,明明终于可以回农村的爷爷奶奶家做客了。爸爸打算花一百块钱买一百只鸡送给爷爷,让爷爷的鸡舍有些新面孔。一问价格:公鸡每只5元,母鸡每只3元,三只小鸡1元。这可难到明明爸了,用100元买100只鸡,问公鸡、母鸡、小鸡各多少只?

明明爸爸花了好大力气罗列了不少清单,明明笑着说:“老爸,交给我的电脑吧”!只见小明在电脑前啪啪敲了几行代码,就帮老爸解决了问题!

原来100元买100只鸡,不光光只有一种选择,电脑竟然把所有的选择方案都给我们列了出来,足足有四种选择方案!明明爸爸不相信的照着只数和价格验算了下,连连夸明明真聪明!小明谦虚的说是昨天看了龚老师少儿编程课堂的枚举法,举一反三想出了办法。

聪明的你,想到办法了吗?

2,算法分析:

利用枚举法解决该问题,以三种鸡的个数为枚举对象,分别设为mj,gj和xj,用三种鸡的总数(mj+gj+xj=100)和买鸡钱的总数(1/3*xj+mj*3+gj*5=100)作为判断条件,穷举各种鸡的个数。

让电脑把三种小鸡挨个数过来,【所以枚举对象就是小鸡种类了,mj,gj,xj】,当三种小鸡总数,公鸡数+母鸡数+小鸡数达到100只的要求和买鸡花的钱,公鸡每只5元,母鸡每只3元,3只小鸡一元,刚好100元时,达到明明爸爸的购买要求。【所以,判断条件是小鸡总数100只(mj+gj+xj=100)和总花费100元(1/3*xj+mj*3+gj*5=100)】

3.代码实现:


第一重循环:电脑从0只公鸡数到20只公鸡【100元最多也只能买20只公鸡了】。第二重循环:电脑从0只母鸡数到33只母鸡【100元最多也只能买33只母鸡,虽然还剩了一元钱】。惯性思维会让我们再设一重循环,但是我们看看判断条件:小鸡总数100只(mj+gj+xj=100)。【那么,小鸡数目肯定是100只鸡中除去公鸡、母鸡的数目。】。

确定了公鸡、母鸡、小鸡数目。我们来算价格吧!公鸡5元每只,母鸡3元每只,小鸡1元3只。只有小鸡的价格有点奇怪,我们要把100元花完,看来小鸡只能打包出售了。所以,我们买的小鸡数目必须是3的倍数。

相关文章

  • 算法趣事·百元买百鸡

    枚举法:列出问题所有的解,然后根据判断条件逐个验证对错。若满足判断条件,则问题解决。否则,问题无解。 设计模式:1...

  • 经典算法百元买百鸡

    一百个铜钱买了一百只鸡,其中母鸡一只5钱、公鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。 这是...

  • 百元买百鸡

    百元买百鸡.公鸡5块钱一只,母鸡3块钱一只,小鸡1块钱三只.100块钱能买多少只公鸡,多少只母鸡,多少只小鸡?第一...

  • 百元买百鸡

    母鸡五元一只,公鸡三元一只,小鸡一元三只。一百元买一百只鸡,每种鸡都要买,有几种买法? for(var a = 1...

  • 百元百鸡怎么买?

    问题如下:公鸡5元一只,母鸡3元一只,小鸡1元3只,100元要买100只鸡?有多少买法?解答:设公鸡买了a只,母鸡...

  • 百元买鸡问题

    问题 已知公鸡5元一只,母鸡3元一只,小鸡1元三只,用100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只? 解题思...

  • 经典算法题-百元百鸡

  • for循环应用:百元买百鸡问题

    公鸡5,母鸡3,小鸡1元3只,一百元全花完,刚好买一百只鸡的情况有哪几种。 设公鸡=g,母鸡=m,小鸡=x, 那么...

  • Java解决"百元买百鸡"问题

    题目:公鸡5元一只,母鸡3元一只,3只小鸡1元,如果用100元钱,买100只鸡,不佘不欠,则买公鸡,母鸡,小鸡,各...

  • 算法经典实战- 百钱买百鸡

    题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有...

网友评论

    本文标题:算法趣事·百元买百鸡

    本文链接:https://www.haomeiwen.com/subject/pvjynftx.html