算法思维与经典智力题

算法思维与经典智力题

海盗分金币

5个海盗抢得100枚金币后,讨论如何进行公正分配。他们商定的分配原则是:

  1. 抽签确定各人的分配顺序号码(1,2,3,4,5)
  2. 由抽到1号签的海盗提出分配方案,然后5人进行表决,如果方案得到超过半数的人同意,就按照他的方案进行分配,否则就将1号扔进大海喂鲨鱼
  3. 如果1号被扔进大海,则由2号提出分配方案,然后由剩余的4人进行表决,当且仅当超过半数的人同意时,才会按照他的提案进行分配,否则也将被扔入大海
  4. 依此类推

假设每一个海盗都是绝顶聪明而理性,能够在保住性命的前提下得到最多的金币。

答案: 1号的最优方案为 96, 0, 0, 2, 2,并且一定会通过。推导过程:当只剩3号时,3号的方案为100,0,0;4号、5号收入为0,因此1号可以贿赂4号、5号获得支持。

猜牌问题

S先生、P先生、Q先生知道桌子的抽屉里有16张扑克牌: 红桃A、Q、4,黑桃J、8、4、2、7、3,草花K、Q、5、4、6,方块A、5。约翰教授从中挑出一张牌,把点数告诉P先生,花色告诉Q先生。

对话如下:

  • P先生: "我不知道这张牌。"
  • Q先生: "我知道你不知道这张牌。"
  • P先生: "现在我知道这张牌了。"
  • Q先生: "我也知道了。"

答案: 方块5。P第一句表明点数为A、Q、5、4其中一种;Q第一句表明花色为红桃或方块;P第二句表明不是A;Q第二句表明只能是方块5。

燃绳问题

烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

答案: 取3根绳,先将第一根的两头都点燃,同时将第二根的某一头点燃(t=0)。待第一根烧尽,点燃第二根的另一头(t=30min)。待第二根烧尽,点燃第三根的两头(t=45min)。待第三根烧尽,t=75min。

乒乓球问题

排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。每次拿球者至少要拿1个,但最多不能超过5个。

答案: 先拿4个,然后对方如果拿1到5个,我就拿5到1个,使得每次拿的球总数为6。最后剩6个的时候恰好是我拿完,此时必胜。

喝汽水问题

1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,你有20元钱,最多可以喝到几瓶汽水?

答案: 40瓶。1元 = 1瓶水 = 1瓶 + 1水,2瓶 = 1瓶水 = 1瓶 + 1水,推导:1元 = 2水,20元 = 40水。

分割金条

让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,必须在每天结束时给他们一段金条,如果只许两次把金条弄断,如何付费?

答案: 把金条分为1、2、4三段(类似纸币1、2、5能对付所有找钱问题)。第1天给1,第2天给2收回1,第3天给1,第4天给4收回1+2,第5天给1,第6天给2收回1,第7天给1。

鬼谷考徒

孙膑、庞涓都是鬼谷子的徒弟。鬼谷子从2到99中选出两个不同的整数,把积告诉孙,把和告诉庞。

  • 庞说: "我虽然不能确定这两个数是什么,但是我肯定你也不知道这两个数是什么。"
  • 孙说: "我本来的确不知道,但是听你这么一说,我现在能够确定这两个数字了。"
  • 庞说: "既然你这么说,我现在也知道这两个数字是什么了。"

答案: (4, t),其中t=7, 13, 19, 23, 31, 37, 43, 53, 61, 67, 73, 79, 83, 91

舀酒难题

店里只有两个舀酒的勺子,分别能舀7两和11两酒,如何量出2两酒?

答案: 将7装满倒入11,再装满倒满11,此时7中剩3。将11倒空,7中3倒入11,再装满7倒入11(11中有10)。将7装满倒满11,此时7中剩6。将11倒空,7中6倒入11,将7装满倒满11,此时7中剩2。

称球问题

12个球和一个天平,只有一个和其它的重量不同,怎样称才能用三次就找到那个球?

答案: 先分成三批(A、B、C组),每批4个,取A、B两批称量。如果平衡,则非标准球在C组,可用两次称量找出;如果不平衡(不妨假定A组轻于B组),则C组为标准球。取A1+A2+B1与A3+A4+B4称量,根据结果可以在第三次称量中确定非标准球。

相关推荐
程序猿乐锅11 小时前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
AiNightVision11 小时前
无人机夜视模块如何选择?——从参数指标到系统集成的完整选型指南
人工智能·算法·计算机视觉·车载系统·无人机·视频·智能硬件
Highcharts.js11 小时前
React 中原生支持使用 JSX 组件配置自定义表格 Highcharts Grid
前端·javascript·react.js·前端框架·jsx·highcharts·自定义表格
Java后端的Ai之路12 小时前
【AIAgent开发】-Agent工具封装成CLI(纯干货!!!)
java·javascript·人工智能·agent·cli
薛定谔的猫-菜鸟程序员12 小时前
Electron开发超详细教程(从入门到放弃)
前端·javascript·electron
AntsData12 小时前
用 12K+ 条亚马逊评论信号,定位机械键盘下一版该改什么
java·大数据·计算机外设
code2cat12 小时前
【随笔】连续批处理:长短请求怎样在迭代之间补位
java·人工智能·后端·大语言模型·vllm
最强小杰12 小时前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai
牧羊人.33312 小时前
卷积神经网络之VGG
人工智能·深度学习·神经网络·算法·cnn
Flynn Liang12 小时前
Spring AI 2.0 深度解析:ChatClient、Advisor 链与 MCP——Java 工程师的 AI 落地最优解
java·人工智能·spring·大模型·架构设计·spring ai