zoukankan      html  css  js  c++  java
  • 逻辑思维题之分桃问题

      #废话#经常在网上发现一些比较有趣的逻辑思维题,仔细想一下解出来会发现很有趣的,网上没有答案,自己解出来记录一下。


    海盗分桃问题:

        话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一 
      个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子! 
      大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先. 
      晚上某个家伙悄悄的起床,悄悄的将椰子分成5份,结果发现多一个椰子,顺手就给了幸运的 
      猴子,然后又悄悄的藏了一份,然后把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡 
      觉了. 
      过了会儿,另一个家伙也悄悄的起床,悄悄的将剩下的椰子分成5份,结果发现多一个椰子,顺 
      手就又给了幸运的猴子,然后又悄悄滴藏了一份,把剩下的椰子混在一起放回原处,最后还是 
      悄悄滴回去睡觉了. 
      又过了一会 ... 
      ... 
      又过了一会 ... 
      总之5个家伙都起床过,都做了一样的事情  
      早上大家都起床,各自心怀鬼胎的分椰子了,这个猴子还真不是一般的幸运,因为这次把椰子 
      分成5分后居然还是多一个椰子,只好又给它了. 
      问题来了,这堆椰子最少有多少个?

      解法:

      设桃子原来有(x+4)-4个,第一次分椰子并取走一份变为4/5((x+4)-4-1)=(4/5)(x+4)-4,第二次剩下为(4/5)^2(x+4)-4, ,由此可见第五次分剩下的椰子为:(4/5)^5(x+4)-4!

      列个表格更清楚一些:

    第一个人 (x+4)-4
    第二个人 (4/5)(x+4)-4
    第三个人 (4/5)^2(x+4)-4
    第四个人 (4/5)^3(x+4)-4
    第五个人 (4/5)^4(x+4)-4

      白天醒来发现还多了一个再给一个给猴子且还可以分成5份:(1/5)((4/5)^4(x+4)-4-1)=(4^4)/(5^5)(x+4)-1,按照这个公式,只要能满足这个公式的最小这个数就可以,即x+4要是5次方的整数倍。5^5 = 3125,所以x = 3121。

      这个解法的精妙就在于设初始值为(x+4)-4,这样可以保证后面公式的一致性

      

      还有个类似的题也可以这么解:

    五猴分桃问题:

        有5只猴子在海边发现 一堆桃子,决定第二天来平分.第二天清晨,第一只猴子最早来 
      到,它左分右分分不开,就朝海里扔了一只,恰好可以分成5份,它拿上自己的一份走了.第 2 
      ,3,4,5只猴子也遇到同样的问题,采用了同样的方法,都是扔掉一只后,恰好可以分成5份.问 
      这堆桃子至少有多少只?  

      解答:

      这是一样的问题,换汤不换药,但是这里没有讲清楚第二天分桃子的情况。只能默认第二天分桃也是一样的情况,只能说这道题出的不是很严谨。

  • 相关阅读:
    JS判断鼠标从什么方向进入一个容器
    [JS进阶] 编写可维护性代码 (1)
    CSS3 animation小动画
    如何使用js捕获css3动画
    webpack入门(译)
    js拖拽3D立方体旋转
    简单3D翻转
    html 基础
    python 并发编程
    python 网络编程
  • 原文地址:https://www.cnblogs.com/liusxg/p/3931890.html
Copyright © 2011-2022 走看看