面试常见智力题

本文介绍了面试中常见的智力题,包括海盗分金币问题的两种情形及解法,碰面问题的子问题分析,翻硬币问题以及数字筛选和打水问题的解决方案。通过这些题目,展示了逻辑推理和数学思维在面试中的应用。
摘要由CSDN通过智能技术生成

题目1

一堆硬币共有n枚,甲乙两人轮流从其中取走1枚或2枚
拿到最后一枚的获胜.请问共有多少种不同的取法?在什么情况下先拿的人一定能赢?

取法:

n=1,一种
n=2,两种
...
n=k,k种
n=k+1,比n=k的情况多一种,即k+1种

做法:

n不能被三整除时,先拿的一定赢

做法:
- 第一个人第一次只需要取走1个或者2个,使得剩下的硬币数为3的倍数;
- 接下来,第二个人拿k个硬币,则第一个人就拿3-k个硬币;
- 最后,最后一枚硬币就是第一个人拿了。

题目2

用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用 x 次天平,
最多可以从 y 个小球中找出较轻的那个,求 y 与 x 的关系式。

思路如下:

  1. 将小球拆分为个数相同的三分,找出其中任意两份进行比较。
  2. 如果两份重量相等,则较轻的小球必然在第三份中,再次对第三份进行拆分比较。
  3. 如果比较的其中一份较轻,则较轻的小球必然在重量较轻的小球堆了,再次对这份小球进行拆分比较。

通过上述思想,将小球拆分为3份,在相同的比较次数下,可提高小球的比较数量,因此,其y与x的关系式为:y = 3^x。

题目3

题目:有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来:
1、每次从桶里面拿出来两个球;
2、如果是两个同色的球,就再放入一个黑球;
3、如果是两个异色的球,就再放入一个白球;

问:最后桶里面只剩下一个黑球的概率是多少?

答案是100%。

思路:

(黑,黑) -> 黑      :黑球减少1个
(白,白) -> 黑      :白球损失2个,黑球增加1个
(白,黑) -> 白      :白色球数量不变
(黑,白) -> 白      :白色球数量不变

可见:

  • 白球变化的数量是偶数(0或2)
  • 黑球变化的数量为奇数

所以最后不可能剩余1个白球,那么必然是剩余黑球了。

扩展:假如各有99个球呢。

《编程之美》的概率题:一个桶里面有白球、黑球各100个,现在按下述规则取球 - 王腾涛 - CSDN博客

题目4:海盗分金币

情形1:反对票大于支持票时,提出方案者被杀

5个海盗(A、B、C、D、E)分N个金币的问题。先抽签决定好五个人的提出分金币方案顺序,接下来第一个人A提出自己方案,全体活着的人投票,++反对票大于支持票时++,提出方案者被杀;之前抽签决定的第二个人B再提方案,活着的人再投票,同样规则决定提方案者会不会被杀;以此类推。问:++第一个人提出怎样的方案,才能保证自己不被杀++?

前提条件:每个海盗理性地遵循两个原则:

  1. 选择自己分得金币数最多的方法
  2. 如果两个方案中自己分得的金币数一样多,就更倾向于杀人数最多的方案

思路:从后往前推理

  • 剩D,E时,D会将所有金币N占为己有,即分配方式为 D:N, E:0
  • 剩C、D、E时,C要争取E的一票,此时分配方式为:C:N-1, D:0, E: 1
  • 剩B、C、D、E时,B要争取D的一票,此时分配方式为:B:N-1, C:0, D:1, E: 0
  • 剩A、B、C、D、E时,A要争取C、E的一票,此时分配方式为:A:N-2, B:0, C:1, D:0, E: 1

情形2:反对票大于等于支持票时,提出方案者被杀

思路:从后往前推理

  • 剩D,E时,不管D怎么分,E都会把D投死
  • 剩C、D、E时,D为了避免自己被投死,D肯定会保C,故此时分配方式为:C:N, D:0, E:0
  • 剩B、C、D、E时,B要争取D、E的投票,因为上述情况中,D、E没有收益,故这里B要让D、E有收益(不然D、E会倾向于杀人),此时分配方式为:B:N-2, C:0, D:1, E:1
  • 剩A、B、C、D、E时,A要争取C、和D或E的一票,此时分配方式为:A:N-3, B:0, C:1, D:2, E: 0或者:A:N-3, B:0, C:1, D:0, E: 2

海盗分金_百度百科

题目5:碰面问题

子题目1

两个人约好12:00-13:00之间见面,先到的人等后到的人不超过15分钟,等待时间超过15分钟,先到的人会离去。
问两人相遇的概率。

思路:

  • 设x, y分别为两人出现的时刻,15分钟即1/4小时
  • 则两人相遇时,有: ∣ y − x ∣ ≤ 1 / 4 |y-x|\leq 1/4 yx1/4,即:

− 1 4 ≤ y − x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值