zoukankan      html  css  js  c++  java
  • 世界500强企业面试题:猴子吃香蕉!这是人能想出来的答案?

    题目:

    有只猴子在树林里采了100根香蕉,堆成一堆。猴子家离香蕉堆50米,猴子打算把香蕉背回家,每次最多背50根。可是,猴子嘴馋,每走一米就要吃一根香蕉。问猴子最多能背回几根香蕉?


     

    分析和答案:

    答案1:25(返回走的时候没吃香蕉)

    猴子从香蕉堆带50根香蕉走到离家25米处,吃完25根,放下剩下的25根香蕉,原路折返!再带50根香蕉回家,此时走到离家25米处一共有50根香蕉了,再走25米继续吃掉25根,所以,还剩下25根香蕉!

    答案2:16 (返回走的时候也吃香蕉)

    分析1:在剩余香蕉大于50根之前,猴子每走1米要吃3根香蕉,因为他走1米吃掉1根后,还得往回走1米抱剩下的香蕉,这又得吃1根,然后再回到原位置需要走1米,再吃1根,所以实际上猴子走1米需要消费3个香蕉。

    当走到17米的时候,猴子一共吃了17*3=51个香蕉,还剩49,这样猴子就可以一次性搬回家了,不用往回去搬香蕉,离家还剩下50-17=33米,需要吃33根香蕉,所以到家时还剩下49-33=16根。

    ————————

    分析2:将50米分两段,前段为X米,剩余的为50-X米,最终搬回家的香蕉数为Z根。稍作计算可知,将全部香蕉搬至X处时,还剩余100-3X支香蕉。

    要能使剩余香蕉能一次性全部搬回家,则有100-3X<=50 (1),最终能搬回家的香蕉数为Z=100-3X-(50-X)=50-2X (2)。综合(1)(2)两式可得当X=17时,Z max=16(根)。


    突然觉得思维逻辑这种东西可能真的需要一点天赋~~~


     

    不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~

    【值得关注】我的 编程学习交流俱乐部!【点击进入】

     
  • 相关阅读:
    图形合并
    启动脚本
    图形合并
    :(){:|:&};:
    C言语教程第八章:列举,位运算(5)
    C言语图形情势编程,赋性鼠标(4)
    C言语教程第十章:文件(6)
    C言语教程第十章:文件(4)
    红帽为什么要连结桌面Linux
    阶乘较劲争论器改善版
  • 原文地址:https://www.cnblogs.com/huya-edu/p/14524600.html
Copyright © 2011-2022 走看看