博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
老鼠逃难
阅读量:5301 次
发布时间:2019-06-14

本文共 789 字,大约阅读时间需要 2 分钟。

一只猫抓了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. 站在第一位。
本文首发于华语文化网:

转载于:https://www.cnblogs.com/feixian49/archive/2009/10/21/1587731.html

你可能感兴趣的文章
HashMap深度解析(一)
查看>>
Java跨平台原理
查看>>
批梯度下降和随机梯度下降的区别和代码实现
查看>>
android常见错误与问题
查看>>
[Scala] 快学Scala A1L1
查看>>
[转]Oracle DB 使用快速恢复区
查看>>
特性属性 @property
查看>>
Jmeter跨线程组传递变量
查看>>
UOJ #225.排队
查看>>
MS SQL Server2012中的IIF函数
查看>>
判断3389端口是否开启
查看>>
LINQ 入门
查看>>
不变集合 NSSet
查看>>
标准C程序设计七---54
查看>>
《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47
查看>>
Hibernate=====HQL实用技术
查看>>
Silverlight中使用MVVM(3)
查看>>
oracle 11g空表导不出问题
查看>>
phpstudy 下开启openssl
查看>>
spring源码下载及转入ECLIPSE
查看>>