本文收录两道与算法关系不大、主要考察思维的面试题。
题目一:找出控制灯的开关
有两个相互隔开的房间,从其中一间无法看到另一间的情况。其中一个房间里装着三盏灯,另一个房间里则有三个开关,分别控制着这三盏灯。
现在要求受训者分别进入这两个房间各一次,然后判断出三盏灯究竟是由哪个开关控制的。
有什么办法呢?
参考解法
先把三个开关分别编号为 1、2、3。进入开关房间时,先打开 1 号开关保持一段时间,再关掉 1 号、打开 2 号,然后立即进入灯的房间。此时可以根据三盏灯的状态判断对应关系:
- 正在亮的那盏灯由 2 号开关控制。
- 已经熄灭但灯泡仍有余温的那盏灯由 1 号开关控制。
- 既不亮也没有余温的那盏灯由 3 号开关控制。
/*by hk 15-7-1*/
把开关编号 1 2 3 先打开 1 2 号,然后到灯房间看 就明白了
.
题目二:金条切两刀支付七天工资
你雇了一些工人为你工作七天,报酬约定为一根金条。这根金条被等分成七段相连的小块,每完成一天的工作,就要付给工人一小块。
如果你只能将金条切割两次,怎样分配才能保证每天都能如数付给工人工资?
参考解法
把金条切两刀,得到 1 段、2 段、4 段三块。每天通过"找零"的方式支付:
- 第 1 天:给工人 1 段。
- 第 2 天:给工人 2 段,收回之前的 1 段。
- 第 3 天:给工人 1 段(此时工人手上是 1 + 2 = 3 段)。
- 第 4 天:给工人 4 段,收回之前的 1 段和 2 段。
- 第 5 天:给工人 1 段。
- 第 6 天:给工人 2 段,收回 1 段。
- 第 7 天:给工人 1 段,此时工人手上正好集齐 1 + 2 + 4 = 7 段。
/*by hk 15-7-1*/
让工人找零钱回来 = =
.