微软的两道智力题

<p>病狗问题<br><br>   一个住宅区内有100户人家,每户人家养一条狗,每天傍晚大家都在同一个地方遛狗。已知这些狗中有一部分病狗,由于某种原因,狗的主人无法判断自己的狗 是否是病狗,却能够分辨其他的狗是否有病,现在,上级传来通知,要求住户处决这些病狗,并且不允许指认他人的狗是病狗(就是只能判断自己的),过了7天之 后,所有的病狗都被处决了,问,一共有几只病狗?为什么?<br><br>答案:<br>7只(数学归纳法证明)<br><br>  1)若只有1只病狗,因为病狗主人看不到有其他病狗,必然会知道自己的狗是病狗(前提是一定存在病狗),所以他会在第一天把病狗处决。<br><br>  2)设有k只病狗的话,会在第k天被处决,那么,如果有k+1只,病狗的主人只会看到k只病狗,而第k天没有人处决病狗,病狗主人就会在第k+1天知道自己的狗是病狗,于是病狗在第k+1天被处决<br><br>  3)由1)2)得,若有n只病狗,必然在第n天被处决<br><br>--------------------------------------------------<br>感觉答案有问题,因为所有人家都不知道有几只病狗,如果一定有并且只有1条,好办;如果有n条(n>=2),病狗的主人能看到n-1条,其他主人能看到n条,可是这样,谁也不知道自己家的是不是病狗,一直就不会有人杀死自己家的狗,这么下去,多少天都没有答案啊。如果所有的住户,可以相互交流自己看到了几条病狗,那么病狗的主人就知道别人看到了n条而自己只能看到n-1条,从而知道并杀死自己的病狗。那也用不了7天,1天就可以搞定。所以感觉这道题有些条件没交代,答案也很牵强。大家怎么理解?<br><br><br>********************************************************************8<br><br>汽车加油问题<br><br>  一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油<br><br>答案:<br>需要建立数学模 型<br><br>  (提示,严格证明该模型最优比较麻烦,但确实可证,大胆猜想是解题关键)<br><br>  题目可归结为求数列 an=500/(2n+1) n=0,1,2,3......的和Sn什么时候大于等于1000,解得n> 6<br><br>  当n=6时,S6=977.57<br><br>  所以第一个中转点离起始位置距离为1000-977.57=22.43公里<br><br>  所以第一次中转之前共耗油 22.43*(2*7+1)=336.50升<br><br>  此后每次中转耗油500升<br><br>  所以总耗油量为7*500+336.50=3836.50升</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值