zoukankan      html  css  js  c++  java
  • 吃饭美女姐姐给出的算术题

    给你1000个苹果,给你10个箱子,苹果可以往箱子里面随便放,我向你要苹果的时候,我肯定是要1000个以内的(含1000个),你必须给我箱子,箱子里面存放着我要的苹果,给我的箱子数目任意,请问,这10个箱子中苹果应该怎么放?

    答案:大学的递归算法和数学归纳法思想,我们必须联想到递推的含义,要解决大的问题,就必须在小的问题上进行找规律,所以我们从最基本的做起,我要一个苹果,你必须在某个箱子只能放入一个苹果,我要两个,此时面临的选择是你可以两个箱子各放一个苹果,也可以在某一个箱子放入两个苹果,但是你要考虑到我们只有10个箱子,所以必须要以最小的次数来解决问题,我们选择在某个箱子放入两个苹果,这样,即便是我要三个苹果的时候,你就可以把两个箱子给我,因为两个箱子里面一共装了3个苹果,当我要四个苹果的时候,你不满足,此时你面临的选择,在某个箱子放入一个苹果,在某个箱子放入两个苹果,或者在某个箱子放入四个苹果,因为我们要满足更大的数目,所以我们要在某个箱子放入四个苹果,以此类推,我们放入的苹果为8,16,32,64,128,256,此时要注意,只剩下最后一堆的苹果了,我们算出,现在已经放入箱子的苹果数目为511个,所以最后我们只能放入1000-511 = 489个,此题目的规律类似于斐波那契数列,前面的苹果数目只能满足前面苹果数目相加起来的情况,所以啊,最后一个元素不用考虑是否满足,而是一定满足的,所以最后一个必须为489个,这也检验了一个人是否细心,所以我们必须要学会谨慎的思维,而不能浮躁!

  • 相关阅读:
    事件对象
    事件方法on()
    each()遍历
    链接式操作
    理解选取更新范围
    net3.5 无网络环境安装
    visual studio 2017 报错 无法下载安装文件。请检查Internet连接,然后重试
    删除数据恢复数据语句 Oracle
    sqlserver还原数据库(mdf与ldf文件如何还原到SQLserver数据库)
    sqlserver2012卸载
  • 原文地址:https://www.cnblogs.com/lovehappy/p/1986393.html
Copyright © 2011-2022 走看看