名企面试

IBM面试题解析

文章来源:51CTO网 时间:2019-12-23

IBM公司进行面试的时候,首先考察的则是基础知识。那么下面就总结了一些IBM笔试题,以供大家参考。

IBM笔试题:有一座山,山上有座庙,只有一条路可以从山上的庙到山脚,每周一早上8点,有一个聪明的小和尚去山下化缘,周二早上8点从山脚回山上的庙里,小和尚的上下山的速度是任意的,在每个往返中,他总是能在周一和周二的同一钟点到达山路上的同一点。例如,有一次他发现星期一的830和星期二的830他都到了山路靠山脚的3/4的地方,问这是为什么?

答案一:

可以用画图法来解释:

在一个平面上,x 轴代表从8点开始的时间,y 轴代表距庙的距离。那么从庙到山脚就是一条从左下到右上的一条曲线,从山脚到庙就是一条从左上到右下的一条曲线。考虑到两条曲线的起始点和终点,两线必定交于一点。

答案二:

还有一种更简单的解释,是让两个人从山顶和山脚同时相向而行,一定有一个时刻相遇,这样就证明了。

IBM笔试题:在一个平面上画1999条直线,最多能将这一平面划分成多少个部分?

没有直线时有一个空间;(1

1条直线时,这条这些可以将这个空间分成两个;(1+1

2条直线时,第二条直线可以和第一条直线相交,这样第二条直线可以将两个空间分成四个;(1+1+2

....

注意到画每条直线时能增加多少个空间,取决于此直线从多少个空间中通过。

而从多少个空间中通过,取决于和多少条直线相交。

例如,如果一条直线和其它5条直线相交,那么最大可以通过6个空间,此直线可以增加6个子空间。

画每条直线时,能相交的直线数为总的已经画过的直线。

所以总的空间数最多为

1+1+2+3+...+1999 = 1999001

IBM笔试题:不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?

第一根点燃两头,第二根只点一头。

当第一根烧完时,时间过去了30分钟,所以第二根还能烧30分钟。这时点燃第二根的另外一头,第二根香还能烧的时间就是15分钟。

IBM笔试题:有27个人去买矿泉水,商店正好在搞三个空矿泉水瓶可以换一瓶矿泉水的活动,他们至少要买几瓶矿泉水才能每人喝到一瓶矿泉水?

答案一:

如果开始买3瓶,那么可以四个人喝,并且还能剩一个空瓶。

如果开始买9瓶,可以13个人喝,最后还剩一个空瓶。

如果开始买18瓶,那么26个人喝,可以剩下两个空瓶。

如果开始买19瓶,那么27个人喝,最后剩下三个空瓶。所以最少买19瓶。

如果可以向商店先欲借一个空瓶,那么买18瓶,最后一个人喝完再将空瓶还给商店。

那么买18瓶也可以满足要求。

答案二:

x + x/3 + x/3^2 + ... = x/(1-1/3)=27

x=18;

IBM笔试题:c++中引用和指针有什么不同?指针加上什么限制等于引用?

引用不是一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。引用一经确定就不能修改。

指针是一个变量,需要在内存中分配空间,此空间中存储所指对象的地址。由于指针是一个普通变量,所以其值还可以通过重新赋值来改变。

把指针定义为const后,其值就不能改变了,功能和引用类似,但有本质的区别。

IBM笔试题:一普查员问一女人,“你有多少个孩子,他们多少岁?”

女人回答:“我有三个孩子,他们的岁数相乘是36,岁数相加就等于旁边屋的门牌号码。“普查员立刻走到旁边屋,看了一看,回来说:“我还需要多少资料。”女人回答:“我现在很忙,我最大的孩子正在楼上睡觉。”普查员说:”谢谢,我己知道了。”

问题:那三个孩子的岁数是多少。

36 = 1 × 2 × 2 × 3 × 3

所有的可能为

1136sum = 38

1218sum = 21

1312sum = 16

149sum = 14

166sum = 13

229sum = 13

236sum = 11

334sum = 10

由于普查员知道了年龄和之后还是不能确定每个孩子的年龄,所以可能性为

166sum = 13

229sum = 13

由于最大(暗含只有一个最大)的孩子在睡觉,所以只可能是

229sum = 13

一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。

小猴子可以采用如下策略:

小猴子先搬50根,走到1米处,路上吃掉1根,放下48根后返回起始点,并在返回路上吃剩下的1根。然后将起始点处的50根香蕉搬到1米处,又在路上吃掉1根。这样总共消耗了3根香蕉,将所有香蕉向前搬动了1米。采用类似的策略搬动16米后,总共消耗了48根香蕉,还剩下52根香蕉。

如果继续按照同样的策略向前移动到17米处,则剩下49根香蕉;如果直接在16米处丢掉2根香蕉,搬着50根香蕉向前走,在17米处也是有49根香蕉。所以猴子在17米处最多可以保留49根香蕉。

继续搬到家还有33米,所以最后剩的香蕉数16根。

IBM笔试题:妈妈有2000元,要分给她的2个孩子。由哥哥先提出分钱的方式,如果弟弟同意,那么就这么分。但如果弟弟不同意,妈妈会没收1000元,由弟弟提出剩下 1000元的分钱方式,这时如果哥哥同意了,就分掉这剩下的1000元。但如果哥哥也不同意,妈妈会把剩下的1000元也拿走,然后分别只给他们每人100元。

问:如果你是哥哥,你会提出什么样的分钱方式,使你有可能得到最多的钱?(最小单位1)

此题和海盗分金问题有些相似。(可以在本博客中找到关于海盗分金的问题和解答。)

哥哥提出分配方案时,弟弟是否同意取决于拒绝后是否可以获得更多利益。弟弟分配时,哥哥是否同意也取决于拒绝后是否可以获得更多好处。

所以采取由后向前推导的方法。

如果在两次分配中弟弟和哥哥都不同意,则弟弟和哥哥各获得100元。

弟弟分钱时,为保证哥哥同意,会提出哥哥101元,弟弟899元的分配方法。因为哥哥获得了比拒绝后的更多利益,所以必然会同意。

哥哥分钱时,为保证弟弟同意,会提出哥哥1100元,弟弟900元的分配方法。因为弟弟获得了比拒绝后的更多利益,所以必然会同意。

也就是说,最终哥哥会提出哥哥1100元,弟弟900元的分配方法。

分享到: