传说中的IBM面试题精选(附带所有答案)

1,分金条问题:
你让某些人为你工作了七天, 你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分?
2。猴子搬香蕉问题:
一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
3。飞机加油问题:
每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈。
为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
4。硬币游戏:
16个硬币,A和B轮流拿走一些,每次拿走的个数只能是1,2,4中的一个数。
谁最后拿硬币谁输。
问:A或B有无策略保证自己赢?
5。倒水问题:
也可以说是倒酒:)有三个酒杯,其中两个大酒杯每个可以装8两酒,一个可以装3两酒。现在两个大酒杯都装满了酒,只用这三个杯子怎么把酒平均的分给4个人喝?
6。帽子问题2:
有一个牢房,有3个犯人关在其中。因为玻璃很厚,所以3个人只能互相看见,不能听到对方说话的声音。”
    有一天,国王想了一个办法,给他们每个人头上都戴了一顶帽子,只叫他们知道帽子的颜色不是白的就是黑的,不叫他们知道自己所戴帽子的是什么颜色的。在这种情况下,国王宣布两条如下:
     1.谁能看到其他两个犯人戴的都是白帽子,就可以释放谁;
     2.谁知道自己戴的是黑帽子,就释放谁。
    其实,国王给他们戴的都是黑帽子。他们因为被绑,看不见自己罢了。于是他们3个人互相盯着不说话。可是不久,心眼灵的A用推理的方法,认定自己戴的是黑帽子。您想,他是怎样推断的?
7。年龄问题:
一普查員問一女人,“你有多少個孩子,他們多少歲?”女人回答:“我有三個孩子,他們的歲數相乘是36,歲數相加就等於隔離間屋的門牌號碼.”普查員立刻走到隔鄰,看了一看,回來說:”我還需要多少資料.”女人回答:“我現在很忙,我最大的孩子正在樓上睡覺.”普查員說:”謝謝,我己知道了
問題:那三個孩子的歲數是多少。
答案!!!!!!!!
第一题
切两次,把金条分成1/7,2/7,4/7三份,编号a,b,c
第一天,给a
第二天,给b,拿回a
第三天,给a,
第四天,给c,拿回a,b
第五天,给a
第六天,给b,拿回a
第七天,给a
答案!!!第二题
猴子先搬50个走的25米处,吃了25根香蕉,然后放在原地,回去搬另外50根香蕉,再搬到25米处,然后休息五分钟,搬起25米处的50根香蕉往家走,回到家还剩25根香蕉。
答案 !!!!!第三题
先三架飞机起飞,飞到地球1/8处,三架飞机都还有3/4的油,其中一架给另外两架每架1/4的有,然后飞回,此时,另外两架满油;
这两架飞机飞到地球的1/4处时,两架飞机都有3/4的油,把其中一架的1/4的油给令一架,飞回,此时,最后一架满油;
当最后一架飞机飞到地球一半时,在终点反方向去一架飞机,他们在离终点1/4处相遇,此时,第一架飞机没油,第二架还有2/4的油,给第一架1/4的油,回飞;此时,终点再起飞一架飞机,反方向飞来;
三架飞机在离终点1/8处相遇,前两架无油,后一架还有3/4的油,分别给另两架1/4的油,一块回飞,OK了,如果基地可以加油的话,三架就ok了,如果不能,就得5架。
答案 !!!!!第四题
此题,谁先拿谁就输,如果第一个人拿1个,第二个人就拿2个,如果第一个人拿2个,第二个人就拿1个,如果第一个人拿4个,地二个人就拿2个,只要第二个人保证于第一个人拿的球数相加是3的倍数,就赢定了。!!!!!
答案 !!!第五题
8  5  3
8  5  0
8  2  3
8  0  3
8  3  0
5  3  3
5  6  0
2  6  3
2  8  1
2  8  0
2  5  3
5  5  0
3  4  3
6  4  0
6  1  3
6  3  0
8  0  1
8  0  0
5  0  3
5  0  0
2  0  3
0  0  0
答案第六题
如果A是白帽子的话,则B就知道自己是黑帽子了,因为如果B是白帽子,C就会看到两个白帽子了,但是C没有看到,所以........
有点只可意会,不可言传的意思,哈哈。
答案 !!!!!第七题
三个数相乘的36的数有:2+3+6=11;3+3+4=10;1+4+9=14;
                                            1+6+6=13;1+3+12=16;2+2+9=13;
普察员知道3个数相加的结果了,但是还不敢确定,就说明是
                                         1+6+6=13或2+2+9=13  这两个和相同中的一个,
又因为大孩子在楼上睡觉,所以排除1+1+6=13
          所以  结果是  2+2+9=13

时间: 2024-08-04 05:03:39

传说中的IBM面试题精选(附带所有答案)的相关文章

[程序员面试题精选100题]9.链表中倒数第k个结点

题目 输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针. 思路一 因为是单向链表,只有从前往后的指针而没有从后往前的指针.因此我们不能倒序遍历链表,只能正序遍历.假设整个链表有n个结点,那么倒数第k个结点是从头结点开始的第n-k-1个结点(从0开始计数).我们只需要得到链表中结点的个数n,那我们只要从头结点开始往后走n-k-1步就可以了. 因此这种方法需要遍历链表两次.第一次得到链表中结点个数n,第二次得到从头结点开始的第n-k-1个结点即倒数第k个结点.时间复杂

[程序员面试题精选100题]1.把二叉查找树转变成排序的双向链表

[题目] 输入一棵二叉查找树,将该二叉查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调整指针的指向. 比如将二叉查找树                                            10                                          /    \                                        6       14                                      / 

[程序员面试题精选100题]50.树的子结构

题目 输入两棵二叉树A和B,判断树B是不是A的子结构. 例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一样的,因此B就是A的子结构. 思路 这是2010年微软校园招聘时的一道题目.二叉树一直是微软面试题中经常出现的数据结构.对微软有兴趣的读者一定要重点关注二叉树. 回到这个题目的本身.要查找树A中是否存在和树B结构一样的子树,我们可以分为两步: (1)树A中找到和B的根结点的值一样的结点N (2)再判断树A中以N为根结点的子树是不是包括和树B一样的结构. 第一步在树A中查找与根结点

[程序员面试题精选100题]58.八皇后问题

题目 在8×8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处在同一行.同一列或者同一对角斜线上.下图中的每个黑色格子表示一个皇后,这就是一种符合条件的摆放方法.请求出总共有多少种摆法. 思路 这就是有名的八皇后问题.解决这个问题通常需要用递归,而递归对编程能力的要求比较高.因此有不少面试官青睐这个题目,用来考察应聘者的分析复杂问题的能力以及编程的能力. 由于八个皇后的任意两个不能处在同一行,那么这肯定是每一个皇后占据一行.于是我们可以定义一个数组colIndex[8],colI

[程序员面试题精选100题]6.二叉查找树的后序遍历结果

[题目] 输入一个整数数组,判断该数组是不是某二叉查找树的后序遍历的结果.如果是返回true,否则返回false. 例如输入5.7.6.9.11.10.8,由于这一整数序列是如下树的后序遍历结果:           8         /    \       6    10      /   \   /   \    5    7 9 11 因此返回true. 如果输入7.4.6.5,没有哪棵树的后序遍历的结果是这个序列,因此返回false. [分析] 这是一道trilogy的笔试题,主要考

[程序员面试题精选100题]12.从上往下遍历二叉树

[题目] 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印. 例如输入         8      /      \     6     10    /   \     /  \   5  7   9  11 输出8   6   10   5   7   9   11 [分析] 这曾是微软的一道面试题.这道题实质上是要求遍历一棵二元树,只不过不是我们熟悉的前序.中序或者后序遍历. 我们从树的根结点开始分析.自然先应该打印根结点8,同时为了下次能够打印8的两个子结点,

[程序员面试题精选100题]13.第一个只出现一次的字符

[题目] 在一个字符串中找到第一个只出现一次的字符.如输入abaccdeff,则输出b. [分析] [代码] /********************************* * 日期:2013-12-23 * 作者:SJF0115 * 题目: 13.第一个只出现一次的字符 * 来源:微软 * 分类:程序员面试题精选100题 **********************************/ #include <iostream> #include <cstring> us

[程序员面试题精选100 题]17.把字符串转换成整数

题目 输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析 这道题尽管不是很难,学过 C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题.建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同. 我们需要考虑一下几个方面的问题: (1)正负问题: 由于整数可能不仅仅之含有数字,还有可能以'

IBM面试题,用JAVA抓取下整个网站

问题描述 作业要求:1.给定一个网站的URL,抓取下整个网站,包括网页.图片等等.2.对该网站的所有对象进行一个统计,比如链接.图片.按钮等等分别有多少. 解决方案 解决方案二:同问!!!是不是要解析该网站下的源代码哦?解决方案三:这题给的不着调啊.加入我有两个页面,分别是http://xxxxx/a和http://xxxxx/b,这两个页面没有相互引用.这算一个网站的吧?你怎么从a知道b呢?出题的弱智吧,限制条件都说不清楚解决方案四:1.给定一个网站的URL,抓取下整个网站,包括网页.图片等等