吃饭美女姐姐给出的算术题
给你1000个苹果,给你10个箱子,苹果可以往箱子里面随便放,我向你要苹果的时候,我肯定是要1000个以内的(含1000个),你必须给我箱子,箱子里面存放着我要的苹果,给我的箱子数目任意,请问,这10个箱子中苹果应该怎么放?
答案:大学的递归算法和数学归纳法思想,我们必须联想到递推的含义,要解决大的问题,就必须在小的问题上进行找规律,所以我们从最基本的做起,我要一个苹果,你必须在某个箱子只能放入一个苹果,我要两个,此时面临的选择是你可以两个箱子各放一个苹果,也可以在某一个箱子放入两个苹果,但是你要考虑到我们只有10个箱子,所以必须要以最小的次数来解决问题,我们选择在某个箱子放入两个苹果,这样,即便是我要三个苹果的时候,你就可以把两个箱子给我,因为两个箱子里面一共装了3个苹果,当我要四个苹果的时候,你不满足,此时你面临的选择,在某个箱子放入一个苹果,在某个箱子放入两个苹果,或者在某个箱子放入四个苹果,因为我们要满足更大的数目,所以我们要在某个箱子放入四个苹果,以此类推,我们放入的苹果为8,16,32,64,128,256,此时要注意,只剩下最后一堆的苹果了,我们算出,现在已经放入箱子的苹果数目为511个,所以最后我们只能放入1000-511 = 489个,此题目的规律类似于斐波那契数列,前面的苹果数目只能满足前面苹果数目相加起来的情况,所以啊,最后一个元素不用考虑是否满足,而是一定满足的,所以最后一个必须为489个,这也检验了一个人是否细心,所以我们必须要学会谨慎的思维,而不能浮躁!
posted on 2011-03-16 20:08 乔乔lovefreedom 阅读(466) 评论(1) 编辑 收藏 举报