🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
感觉几乎都是从这篇文章里找的:[https://blog.csdn.net/Hackbuteer1/article/details/6726419](https://blog.csdn.net/Hackbuteer1/article/details/6726419) [https://blog.csdn.net/bigpudding24/article/details/44198989](https://blog.csdn.net/bigpudding24/article/details/44198989) # 1.赛马问题 一共有 25 匹马,有一个赛场,赛场有 5 个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问最少得比多少场才能知道跑得最快的5匹马。 参考答案:[答案](https://hxraid.iteye.com/blog/662643) # 2.握手问题 5 对夫妻互相握手,有 1 人发现除他自己外其他人的握手次数各不相同(他自己可以与其中任何一人的握手次数相同),问这个人的握手次数? 条件:① 夫妻之间不能握手 ② A 和 B 握手后不能再次握手 参考答案:一共 10 人,每人握手次数为 0 ~ 9 假设一对夫妻中有 1 人握手次数为 8,那么其他人肯定与他握了 1 次手(握手次数大于等于 1),那么其妻子的握手次数肯定为 0;依次类推,得到以下握手次数的组合 8 | 0  7 | 1  6 | 2   5 | 3  4 | 4 所以发现的人肯定是握手了 4 次的 # 3.倒水问题 一个 3 升的桶和一个 5 升的桶最后怎么装 4 升的水? 答:5 升满上倒入 3 升桶里,5 升桶剩 2 升;3 升桶倒光,2 升倒入 3 升桶,5 升桶再满上倒入 1 升到 3 升桶中 # 4.天平秤重 有 16 个球,一个是次品,次品比较轻,利用天平,至少几次保证能找到次品? 参考答案:3 次 第一次:两边一次各放 5 个,较轻的,次品就在里面,如果平衡,则次品在剩下的 6 个里面 第二次:情况 1,如果在上面 5 个堆里,两边各放 2 个,较轻的,次品就在里面;如果平衡,则次品就是剩下一个 ;情况 2,如果在上面 6 个堆里,两边各放 2 个,较轻的,次品就在里面;如果平衡,则次品就是剩下 2 个中的一个 第三次:再拿有次品的两个放在天平上,较轻的就是次品 综上所述,16 个球称三次就可以保证找到次品 # 5.矩阵分为同样大小的正方形 把如图的长方形分成若干个同样大小的正方形,要使正方形尽可能大,那么正方形的边长最长是多少? ![](http://thumb.1010pic.com/pic3/quiz/images/201608/128/2043ad41.png) **分析**:分成同样大小,且没有剩余,就是分成的小正方形的边长是 48 和 30 的公因数,要使正方形尽可能大,就是以 48 和 30 的最大公因数为小正方形的边长. **解答**:解:48=2×2×2×2×3, 30=2×3×5, 所以 48 和 30 的最大公因数是:2×3=6;,即小正方形的边长是 6 厘米. 答:正方形的边长最长是 6cm. 附:求最大公约数 [辗转相除法](https://baike.baidu.com/item/%E8%BE%97%E8%BD%AC%E7%9B%B8%E9%99%A4%E6%B3%95/4625352?fr=aladdin) # 6.任意时间求时针与分针的夹角 设 12 时的刻度线为 0 度,作为角度起点线, 任意时刻 X 时 Y 分时的两针位置: 因为分针每分钟转 360 / 60=6° 时针每分钟转 360 / (12\*60)= 0.5° 时针每 1 小时转 360 / 12=30° 所以, 在 X 时 Y 分时,时针与 0 度起点线的夹角(转过角)是:30X+0.5Y 在 X 时 Y 分时,分针与 0 度起点线的夹角(转过角)是:6Y 时针和分针夹角 θ 的计算公式是: θ = |6Y - (30X + 0.5Y)| = |5.5Y - 30X|,单位是度(°) 习惯上,超过 180° 的角度一般用它的小于 180° 的角度(360° - |5.5Y - 30X|)表示它们的夹角. 例如:8:30 时的两针夹角:将 X=8,Y=30 代入上式,得夹角=75° . # 7.海盗分金币问题 转自 [https://blog.csdn.net/csdnsevenn/article/details/86522861](https://blog.csdn.net/csdnsevenn/article/details/86522861) 海盗分金币问题: 有 5 个海盗,获得了 100 枚金币,于是他们要商量一个方法来分配金币。商议方式如下: 1\. 由 5 个海盗轮流提出分配方案。 2\. 如果超过半数海盗(包括提出者)同意该方案,则按照该方案分配。 3\. 如果同意该方案的人数(包括提出者)小于等于半数,则提出者要被扔到海里喂鱼,剩下的海盗继续商议分配。 4\. 海盗们都是绝对理性的,以自己尽可能多获得金币为目的。但是在收益相等的情况下,会倾向把提出者扔到海里。 问:第一个海盗应该提出怎样的分配方案,才能保证自己既不被扔到海里,又能使自己利益最大化? ***** 这个问题需要用递归的思想来解决: 我们把五个海盗简称为老一、老二、老三、老四、老五。 老一在提出分配方案的时候,不妨这样思考: 如果我被扔到海里了,剩下**4**个海盗,此时老二的最优分配方案是什么呢? 我只要在老二的分配方案上稍微增加一点,就能赢得更多的支持。 老二在提出分配方案的时候,也会这样思考: 如果我被扔到海里了,剩下**3**个海盗,此时老三的最优分配方案是什么呢? 我只要在老三的分配方案上稍微增加一点,就能赢得更多的支持。 老三在提出分配方案的时候,还是会这样思考: 如果我被扔到海里了,剩下**2**个海盗,此时老四的最优分配方案是什么呢? 我只要在老四的分配方案上稍微增加一点,就能赢得更多的支持。 整个递归过程,就像下图一样: ![](https://img.kancloud.cn/f8/29/f829a6edf99041fc5a616be366131e1d_409x556.png) 这个递归过程到什么时候截止呢?剩下两个人为止。 想想看,当剩下两个人的时候,是什么情形? 此时老四**没有任何选择**!无论他如何分配,哪怕把100枚金币都给老五,老五仍然可以反对,导致老四被扔到海里,金币全归老五所有。 ![](https://img.kancloud.cn/0b/0c/0b0c0908b75d992ea1450e838958f672_735x320.png) 由此,老三心想:老四没有最优决策,所以无论我提出什么要求,老四都一定会同意,而老五一定不同意。 由于只要超过半数同意就可以执行分配,所以老三的最优策略如下: ![](https://img.kancloud.cn/b3/b5/b3b59dd265c66fda43c779c7dcb4d021_735x320.png) 接下来,老二暗自寻思:如果没有我,老三能获得100枚金币,所以无论如何不会同意我。但我可以设法“笼络”老四和老五,形成 3 : 1 的局面。 在老三的“淫威”下,他们原本一个金币都得不到。我给他们一人一枚金币,好过由老三来分配,所以他们肯定会同意。 因此,老二的最优策略如下: ![](https://img.kancloud.cn/cf/a4/cfa45c96788f06e35c552c54ae59520a_735x320.png) 终于轮到老一了,老一心里琢磨:如果没有我,老二能获得 98 枚金币,我总不能分给他多于 98 枚,索性放弃他,只要剩下三人中笼络到两人,形成 3 : 2 的局面即可。 要笼络谁呢?以老二的策略,老三得不到金币,所以老三最好“伺候”。我给老三 1 枚,老三一定同意。 至于老四和老五,本来可以得到 1 枚,所以我必须比老二给的多,才能赢得支持。但我又没必要同时笼络他俩,要么给老四两枚金币,放弃老五,要么给老五两枚金币,放弃老四。 因此,老一的最优策略如下: ![](https://img.kancloud.cn/ae/d9/aed96a09fa1ef31ac6d24d767f7bad61_735x710.png)