【序】智力推理题是外企笔试面试中常考的题目,变化多端,既然是推理,相信应该遵从一定逻辑,天下题目千千万,只有抓住每道问题的实质,不管出题者怎么变,我相信大家也可以以一敌百了。
另外,我觉得大家要是能够主动改变题目的条件,去寻找一定的规律,或者是反向思考问题,相信对于同类的题目就能够很快搞定了。
×××××××××××××××××××××××××××
从“分金条付工资”看逻辑推理题中的数学推导及反向推理的策略
问题:你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候 给他们一段。如果只允许你两次把金条弄断,你如何给你的工人付费?
切成1段,2段,和四段.
1:给出1.
2:给出2,还回1.
3:给出1.
4:给出4,还回3.
5:给出1.
6:给出2,还回1.
7:给出1.
7
=
1
+
2
+
4
,分成三段,截
2
次,由上述“切成1段,2段,和四段”感觉1、2、4有一定的规律性,由此联想到了下面的递归等式
2^n -1 = (2^n -1)/(2 – 1 ) = 1 + 2 + …. 2^(n-1)
》》》
S(n) – 1 = 1 + 2 + … S(n-1)
其中
S(n)
=
2^n
,
S(0)
=
1
等比数列求和的问题,即最后一项为前面
所有项的和再加
1
这里的加
1
就相对于每天的工资,故每天给新的金条时要将前面的相应项和的对应金条取回。
如果为
15
,则是截三次,分别为
1 2 4 8
,便可处理任意的整数了
即
以零换整的问题,钞票为什么设计成
1 2 5 10,估计是上述四个数可以以
最小的张数组合任意的整数,哈哈,不会出现别人给你整票不能够找开的问题了。有兴趣的朋友可以用程序证明1 2 5 是最高效的方法,我猜是的,要不然为什么全世界都是这么设计的呢?
反向推理:一根金条平均分成N段相连,每天的工资为一段,
最少截成几段才能每天完工后付给工人当天的工资?
2^(n-1) – 1 < N =< 2^n -1
最小的n值必须满足上述不等式
即(2^(n-1) – 1 ,2^n -1]
半开半闭区间内的N值都至少分成n段才能解决当天完毕付工资问题
利用上述不等式,即可针对任意的N值快速算出分段次数了,不管面试者如何改动N值,都是易如反掌了,以一敌百,轻松搞定
参考鸣谢:
http://zhidao.baidu.com/question/114046.html?fr=qrl3