微软经典面试题------病狗问题
1.狗的主人无法判断自己的狗是否是病狗,却能够分辨其他的狗是否有病,现在,上级传来通知,要求住户处决这些病狗,并且不允许指认他人的狗是病狗(就是只能判断自己的),过了7天之后,所有的病狗都被处决了,问,一共有几只病狗?为什么?
自己分析的答案:首先,如果只有一条病狗的话,那么第一天病狗人就会杀掉自己的狗,因为他发现别人的狗没有问题。
然后,假设有x只病狗,那就会在x天之后病狗全部消失,因为主人们看到别人家有病狗,就不会杀掉自己的狗,也不会出来遛狗,于是第一只狗就杀掉了。以此类推,第X天过后,第X只病狗都会被处决。所以一共有X只病狗。
2.极限问题:一个小猴子边上有100 根香蕉,它要走过50 米才能到家,每次它最多搬50 根香蕉,每走1 米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
自己分析的答案:一共有50米,所以可能说一次性走完,那肯定就是一根香蕉都没了。。。所以小猴同学需要搬到中途然后又打道回府去搬,但是只有100个香蕉,所以,最好打道回府,问题是在什么地方打道回府最合适呢。。这个问题最重要。我们设置那个点距离起始点为A,从起始点到A的需要消耗多A的香蕉。(来回一趟)然后从起始点到终点需要消耗50个香蕉,也就是50-2A=0
人生匆匆几十年,BeYourself...