• 老鼠逃难


    一只猫抓了101只老鼠,猫对老鼠说:“你们排成一行按顺序报数,报到单数的我就把你吃掉,然后剩下的再重新报数,单数的同样被吃掉,如此下去,剩下的最后那只老鼠,我就放它一条生路。”

     
    如果你是那只聪明的老鼠,你会站哪个位置,才不至于被吃掉?
     
     
    思维拓展:
     
    1. 如果总共1500只老鼠,站什么位置才不被吃掉?
     
    2. 如果猫说:“报到双数的我就把它吃掉,如此循环,最后一只放走。”那又应该站在什么位置才安全?(还不简单)
     
     
    查看答案请用鼠标选择下面白色的文字
     
    错误分析: 由于老鼠每次报数报到单号(奇数)的就被猫吃掉,所以聪明的老鼠会站在偶数位,并且靠后,所以站第100位吧。可是,老鼠第一轮被吃后,第100位变成第50位,第二轮被吃后,变作第25位,奇数,在第三轮被吃了,所以站在第100位是不能逃出生天的。

    正确的分析:由于老鼠每次报数报道单号(奇数)的就被猫吃掉,所以聪明的老鼠会站在偶数位,第一轮被吃后,还是在偶数位才不被吃,第二轮被吃后,还是在偶数位才不被吃,……第 n 轮被吃后,还是在偶数位才不被吃。所以用 M 表示聪明老鼠所站的位置,M 能被2不断地整除,它的形式为 k*2^n (k乘于2的n次方)。我们又知道,在最后一轮,聪明的老鼠还是在偶数位,即第2位,猫吃完这轮,只剩下了这只老鼠在第一位,所以 M 不断被2除,最后等于1,固 k=1,即是 M=2^n, 其中 n 尽可能大,在101里面,最大的 2^n 是当 n 取6的时候,此时 M 为64,所以那只聪明的老鼠站在第64位,就可以免幸于难而逃出生天。

    思维拓展分析:
    1. 在1500里,当 n 取10的时候,M=1024。
    2. 站在第一位。
    本文首发于华语文化网:http://www.hywh.net/
  • 相关阅读:
    day4
    cache用法
    Excel批量生成SQL语句,处理大量数据(增,改)
    IDEA中Maven依赖下载失败解决方案
    IDEA 自动生成类图 UML
    springboot报错说 Failed to parse multipart servlet request; nested exception is java.io.IOException
    controller层的引用service层一直报空指针问题
    CONCATENATE函数
    AQS
    String 类和常量池
  • 原文地址:https://www.cnblogs.com/feixian49/p/1587731.html
Copyright © 2020-2023  润新知