传说中的IBM笔试题

 IBM社会招聘笔试题

1.一个粗细均匀的长直管子,两端开口,里面有4个白球和4个黑球,球的直径、两端开口的直径等于管子的内径,现在白球和黑球的排列是wwwwbbbb,要求不取出任何一个球,使得排列变为bbwwwwbb。

2.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?

3.在一个平面上画1999条直线最多能将这一平面划分成多少个部分?

4.在太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上,被土人抓住,土人的祭司告诉他,你临死前还可以有一个机会留下一句话,如果这句话是真的,你将被烧死,是假的,你将被五马分尸,可怜的探险家如何才能活下来?

5.怎样种四棵树使得任意两棵树的距离相等。

6.27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?

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

8.有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?




====================================================================================
个人作答:
1. 将管子弯曲, 两端相连,  这样的话, 就可以形成组合: bbwwwwbb
2. 8天. 第8天白天, 青蛙下滑到了7尺处. 晚上,青蛙就可以一跃而上.
       public static void test()
        {
                int up = 3;
                int down = 2;
                int wholedistance = 10;
               
                int count = 0;
                int updistance = 0;
                while(true)
                {
                        count++;
                       
                        if(updistance > 0)
                        {
                                updistance -= down;
                        }
                        String day = String.format("第%d天白天, 青蛙下滑到了%d尺", count, updistance);
                        System.out.println(day);
                       
                        updistance += up;
                        String night = String.format("第%d天晚上, 青蛙上升到了%d尺", count, updistance);
                        System.out.println(night);
                       
                        if(updistance < wholedistance)
                        {
                                continue;
                        }
                        else
                        {
                                break;
                        }
                       
                }
               
                System.out.println("days:" + count);
        }

3. 2 + (2 + 3+ 4+ ... + 1999)
分析: 要将一个平面划分为最多的部分, 那么就需要这些直线中的任意两条都相交, 并且没有3条或者3条以上的直线相交于同一点.   当画第1条直线时,  平面被分为2部分; 第2条时, (2+2)部分;  第3条时, (2+2+3)部分;  第4条时, (2+2+3+4)部分; 第5条时, (2+2+3+4+5)部分.
...
第1999条时, (2 + 2 + 3+ 4+ ... + 1999)部分.

4. 我觉得有两个答案:
1) 我会被五马分尸.
2) 我不会被烧死.

5. 这个暂时不会, 还请各位达人不吝赐教.
也许有人会想到金字塔型. 但是我觉得金字塔型是不符合的. 因为树之间的距离, 并非纯粹的树根与树根之间的距离(点对点).

6.19瓶

7. 这道题有点象3人住旅馆,找钱的那道脑筋急转弯题目:)
本来是很简单的事情, 硬是描述的煞有介事似的.
如果把题目改成: 两个和尚, 每个星期一的8:00, 一个从山顶到山脚, 一个从山脚到山顶, 你说他们会在同一个时间经过同一个地点么?

8. 老题目了.
 

===============================================================================
看了网上的答案,补充一下:
1. 将管子截断, 似乎会更好一点:)
6. 如果可以跟老板借的话, 18瓶就可以搞定了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值