程序员有趣的面试智力题

        请蠲出处。,原文地址:
偶尔间在网上通知专稍微以前没见过的面试智力题,有专稍微战略在中国1971普及的低声谈。,是什么人事栏最持平的?,谁挥动是由屋子里的三个圆灯罩把持的?,人寰三架木工刨,用洋火和两条粗绳测成绩,比方45分钟。,Mars曾经可以古物了。,在这里去甲了。。

     1、思索东西双人游玩。。竞赛是在圆桌上举行的。。每个玩家都有十足的金币。。他们需求继续地把金币放在桌子的上。,每回只投一枚金币是基本要素的。,断言金币完整放在桌子的上。,你不克不及堆叠你以前放的金币。。谁不注意到关心放新金币?,谁输了。游玩先兆或后者有得胜的战略吗?是什么
答案:前人把一枚金币放在桌子的的中锋。,末期金币常常定位在对立于R的臀部。。这样地,是否前方客人可以放,强制的有前人的臀部。。前人必胜。。

    2、 运用一次的工夫和常数附加挡住通路来继承权单词(非CHA)。
答案:先将整篇文字的拘押违禁物角色逆序(从中间起不竭被掉换者臀部对立称的角色);不久以后的运用胜任的的方式来继承权每个单词击中要害角色。。这样地,绝对的文字击中要害单词错乱的唐突的感到了。,只忘却自身曾经被恶化了。。

    3、 用一次的工夫和常数加法的将M位移到左环,ABCDEG动摇3相称DeFabGc。。
答案:把粗绳切成两半的M和N-M。。识别继承权这两个使分裂。,不久以后的继承权绝对的角色串。。

    4、椭圆体的块状物,块状物外面有东西洞的椭圆体的。。仅稍微一把刀,什么将块状物切成大块相当的两块?
答案:注意到,结束矩形区域的线经历并完成果核。。大于正常矩形和空心矩形各自的果核画一件商品线,这条线清晰的地把两个椭圆体的分红两半。,自然,他们的意见分歧是相等的。。

    5、 一派椭圆体的巧克力色,前段由N x 粉末。你每回仅仅把一派巧克力色分红两个小的矩形。。把它们决心成N至多需求几次。 x M块1X1小巧克力色?
答案:N x M – 1次显然曾经十足了。。很数字亦基本要素的。,由于每掰一次后如今时的巧克力色的块数仅仅增添一,把巧克力色分红N份 x M块,自然,至多需求N。 x M – 1次。

    6、什么彻底地找出东西32位积分的二元系表达里有标号个”1″?用四处走动的”1″的标号的一次的工夫?
答案1(四处走动的数字数字一次的):for(n=0; b; b >>= 1) if (b & 1) n++;
答案2(四处走动的1一次的数):for(n=0; b; n++) b &= b-1;

    7、 大块n的一大批,拘押违禁物数都是以内n-1的正积分。。运用O(n)找到反复次数(同意仅稍微东西)。大块n的一大批,拘押违禁物数字都是以内n 1的正积分。。运用O(n)工夫找出不注意到产生的数字(同意仅稍微O)。
答案:计算一大批中拘押违禁物数字的和。,不久以后的计算从1到n-1的拘押违禁物数积和。,它们当中的分别是反复的次数。。计算一大批中拘押违禁物数字的和。,不久以后的计算从1到N 1的拘押违禁物数字积和。,它们当中的分别是错过的数字。。

    8、 支付了一组C假释期说法。,决定假定的积分到站的的哪一些为2的幂?。
答案:(b & (B-1) == 0

    9、环球上有标号个点?,从那短间隔向南方走一英里。,往东走一英里,再向北走一英里不久以后的恰恰回到了起源?
答案:北极地带点是东西会议的答案。,确实的,很成绩剧照类似地云云的答案。。确实,有很多点可以容量断言。。1南极间隔 + 1 /(2π)英里都适合断言。,在向南方走了一英里不久以后的,它将从南极点抵达1(2π)。,往东走一英里后直接地环绕范围圈七天,再次向北走,回到起源。。确实,这依然产生断层容量断言的整个要点。。南极1间隔 + 1(2K Pi)就可以了。,k可以是普通的正积分。。

      10、A、B两人事栏识别在两个岛上。。B害病了,A有B药需求。。C有一只小船和东西可以拘留所的箱子。。C喜欢做在A和B当中流放东西。,但事实仅仅放在盒子里。。是否盒子不注意到一撮。,C会从盒子里偷走拘押违禁物东西。,尽管不愿意盒子里有什么。。是否A和B各有一把锁,钥匙仅仅翻开本身的锁。,什么将动产保险箱寄给B?
答案:把药放进盒子里。,用你本身的锁把箱子锁起来。。B拿到盒子了。,再把另一把锁放在盒子上。。箱子被运回A后,,A取下本身的锁。。当箱子再次运到B时,,B降低本身的锁。,成功药物。

    11、 一对两口子索取N-1对两口子陪伴运动会(于是运动会上总共同体2N人)。每人事栏都和他没察觉到的的人握手。。不久以后的,报幕员问了拘押违禁物类似地云云人(2N-1人事栏)几次。,拘押违禁物的答案都是有区别的的。。同意每人事栏都应验他的匹偶。,迎宾女招待又握了几次手?
答案:握手次数仅仅是2n-1标号字,从0到2n-2。。除雄性寄主外。,有2n-1个详细情节。,因而每东西数字只产生一次。。到站的一人(0)不注意到握手。,一名天哪(2N-2)和拘押违禁物类似地云云两口子握手。。这两人事栏必然是夫妇。,要不然,后者会与前者握手,这样使碎牛肉。此外这对两口子。,一人(1)只与(2N-2)握手。,一人(2N-3)和类似地云云两口子除外(0)握手。。这两人事栏必然是夫妇。,要不然,后者会与前者握手,这样使碎牛肉。类似地云云,直到拘押N-2手的人和拘押N-2的人。此刻,此外男人和他的匹偶。,类似地云云人都成双了。。依据迁移方式,最近的东西在N-1握手的人是迎宾女招待。。

    12、两个铁甲情痴终结者,前段定位数轴上的有区别的臀部。。为两个铁甲情痴终结者输出胜任的的顺序。,这样地,这两个铁甲情痴终结者就可以着手处理了。。顺序仅仅牵制左N单元。、右移N单位,合格证书判别宣判,迂回地宣判,然后两个前往Boolean值的有或起作用“在本身的起源处”和“在他方的起源处”。不克不及运用类似地云云变量和自动记录器。。
答案:这两个铁甲情痴终结者开端以单位速换挡。,直到铁甲情痴终结者抵达另东西铁甲情痴终结者的起源。。不久以后的,铁甲情痴终结者以双倍速赶上他方。。顺序如次。

while(!at_other_robots_start) {
move_right 1
}
尽管不愿意(真) {
move_right 2
}

    13、 是否你被断言选择以下两个游玩击中要害东西,你选哪东西?为什么?
a. 写东西句子。是否这句话为真,你将通用10雄鹿。;是否很句子是假的,你通用的钱将少于10雄鹿或超越10雄鹿。。
b. 写东西句子。尽管不愿意这句话是真是假。,你会通用超越10雄鹿。。
答案:选择第绕过竞赛。,他写道:我不克通用10雄鹿。,它不克通用10000000雄鹿。。

      14、你在100层在楼下面。,有21根电线。号码是1…21。。这些电线延伸到楼房的顶部。,在楼房顶部的那封信上标有字母A。。你不应验下面的数字和字母当中的对应相干。。你有电池。,东西圆灯罩,剧照非常短的电线。。什么决定背后操纵的势力与背后操纵的势力的对应相干
答案:下面放2。,3衔接肩并肩的,将4到6衔接肩并肩的。,将7到10衔接肩并肩的。,类似地云云,因而你把这些线分红6个均势类。,标出尺寸为1, 2, 3, 4, 5, 6。不久以后的到屋顶。,哪条线路与类似地云云电线不注意到衔接?,谁线路衔接到另一件商品线路?,谁线路衔接到更两条线路?,类似地云云,决定字母A.U属于哪个均势类。。如今,在每个均势类中结交第东西字母。,诞生东西新的均势类的大块为6。;不久以后的衔接最近的5个均势类击中要害以第二位个字母。,诞生东西新的均势类的大块为5。;类似地云云。下楼,区别新均势类。这样地,您应验原始均势类的哪标号对应于每个n。,这样地才能处理很成绩。。

    15、有些处方很精确的。,你每天需求同时服用。、乙各片两片。,不注意到更多,不注意到更少。。这药很贵。,你不愿放肆普通的东西。。有朝一日,你翻开药丸A的药瓶。,倒一派药片放在手掌里。;不久以后的翻开另东西药瓶。,但我不测地倒了两片。。如今,你手掌上有一派药片,A.,两片B,你不应验哪东西是A.,哪个是B。你怎样能精确的遵守处方呢?,难道不克有放肆吗?
答案:把手上的三片药片切成两半。,分为两堆。。再吃一派。,把它切成两半。,不久以后的在每个桩中加半块A。。如今,每个片剂牵制2.5片A和2.5 B。。有朝一日东西。。

     16、 你在航天器上。,航天器上的数纸机有N个处理机。。唐突的,航天器遭到了外来激光兵器的劫掠。,有些处理机损坏了。。你应验一半的很的处理机依然上等的。。你可以问处理机到站的的哪一些类似地云云处理机是好的仍然坏的。。好的处理机常常讲真心话。,拙劣的处理机常常谎言。。运用N-2次来找出东西好的处理机。。
答案:给处理机东西从1到n的称标记。。运用签名A- > B来讲授处理机B到站的的哪一些对处理机LA有增加。率先,断言1比2。,是否1说不,把它们都抢走,摈除东西好的和坏的。,剩的处理机依然上等的。,不久以后的从3到4开端进行测试。。是否1说2是好的。,是否问2比3就好了。,3->4,……直到有一次,J说J 1是坏的。,移除J和J 1。,不久以后的问J-1 -> j+2;或从J 2 -> J 3开端进行测试。,是否后面不注意到J-1,它就曾经被移此外。。注意到,你常常供养这样地东西链。,后面的每个处理机都说后者是好的。。很链击中要害拘押违禁物处理机都是好的。,黑金色、黑色他们有害的。。当连锁越来越长,剩的处理机越来越少。,归纳起来,很连锁超越了剩余财产手续的一半的。,在这短间隔上,可以一定的是,很链击中要害拘押违禁物处理机都是好的。。或许,越来越多的处理机曾经被取代。,连锁的胶料依然是0。,最近的,仅稍微东西或两个处理机被迁移在外。,那他们必然上等的。。也注意到,要素台处理机的大多从未被问及。,温存想想你会发现物最近的东西处理机的存亡绝续去甲可能性被问到(一旦链长超越剩余财产处理机的一半的,或许最近的一件不注意到被移除的是很。,你不克问。,于是,考察的全部含义不克超越N-2。。

      17、圆盘被涂成皂白两种色。,这两种色各有东西半圆。。磁盘以未知的速。、在未知的排列方向旋转。。你有东西特别的相机,可以让你霎时当观察员到色。。你需求标号照相机来决定D的旋转排列方向?
答案:你可以把两个相机放在激光唱片几乎的两点上。,不久以后的当观察员哪个点先交换。。确实,仅稍微一台照相机就够了。。把持视像管正转的绕圆盘果核动摇,当观察员色兑换的频率。;不久以后的让相机逆时针方向的在激光唱片果核动摇。,再次当观察员变色的频率。。可以议定,变色的频率较慢。,照相机的旋转排列方向与激光唱片的旋转排列方向胜任的。。

     18、有25匹马,速是有区别的的。,只每匹马的速都是恒定的。。如今仅稍微5条曲目。,不计时,即,每个种族仅仅应验5匹马的对立速。。问至多几场竞赛,找出25匹马中跑得快动作的的3匹马。百度2008个面试成绩

每匹马都强制的有至多东西竞赛的机遇。,25匹马分为5组。,前5场竞赛是不免的。。接下来容易地找到冠军。,每东西冠军组都将有绕过竞赛(第六感觉场竞赛)。最近的一件事是找到以第二位个和第三个。。笔者秉承第6场竞赛中通用的名次继续地把它们在前5场竞赛中得次席的组命名为A、B、C、D、E。即:A组冠军是第六感觉场竞赛击中要害要素名。,B组的冠军是第六感觉场竞赛击中要害以第二位名。……每组5匹马依据他们的动量神速而减速地编号。:

A组:1,2,3,4,5
B组:1,2,3,4,5
C组:12,3,4,5
D组:1,2,3,4,5
E组:1,2,3,4,5

从如今开端的知识,笔者可以应验谁马被迁移在3位。。是否承认书3匹马或3匹马比T快。,不久以后的它就被裁员了。。可以通知,桌子的上仅稍微5匹粗短的的蓝色的马可以是2匹。、3名的。即:A组击中要害2个、3名;B组的1、2名,C组要素。。5匹马陪伴第七场竞赛。,第七场竞赛的前两名是25匹马击中要害2匹。、3名。因而至多有7场竞赛。。

很成绩有有区别的之处。,比如,64匹马找到前4名。。方式是胜任的的。,找到要素批攻读学位者后,接下来的3个攻读学位者。

      19、IBM口试考试题:一位五年时间查问了一位女子本能。,“你有标号个孩子,他们多大了?
女子回复说:我有三个孩子。,他们的年纪乘以36。,年纪的总和本利之和间壁屋子的数量。。五年时间员立刻去了下东西屋子。,看一眼它。,背面说:我需求标号知识?。女子回复说些什么吧:我如今很忙。,我最大的孩子在楼上入睡。。普查员说:”感激,我应验。。”
成绩:那三个孩子的年纪是标号?。
36 = 1 × 2 × 2 × 3 × 3
拘押违禁物的可能性为
1,1,36;sum = 38
1,2,18;sum = 21
1,3,12;sum = 16
1,4,9;sum = 14
1,6,6;sum = 13
2,2,9;sum = 13
2,3,6;sum = 11
3,3,4;sum = 10
由于五年时间电话接线员应验每个孩子的年纪和年纪,他们不克不及,因而可能性性是
1,6,6;sum = 13
2,2,9;sum = 13
由于最大(仅稍微东西最大)的孩子在入睡。,因而这是可能性的。
2,2,9;sum = 13

      20、有7克、各2克。,均衡一只,什么将140克盐分为50次,仅稍微三个突出?、每个90克?
答:要素步:把140克盐分红两等份。,每单位70克。
以第二位步:把2加7的均衡放在均衡点上。,盐在另一边。,你识别通用9克和61克盐。。
第三步:将9克盐和2克体重放在秤边。,盐在另一边。,因而你通用11克和50克。。50和90上菜用具。。

     21、有三篮果品。,篮子里的苹果都是苹果。,以第二位篮子都是桔树。,第三个篮子是中国式服装的和苹果混肩并肩的。。篮子上的称标记都是骗人的。,(比如,是否称标记上写着桔树,不久以后的一定篮子里不克仅稍微桔树。,或许苹果。你的任务是拿东西篮子。,只吃一颗果品。,不久以后的正确地写出三篮子果品称标记。。
答:生产东西苹果和中国式服装的称标记的果品。,是否是苹果,它蠲很篮子里装满了苹果。,不久以后的苹果称标记篮子里装满了中国式服装的。,用桔树一组建议的苹果和中国式服装的。;是否你生产东西果品,它是东西中国式服装的。,这蠲篮子里装满了中国式服装的。,因而桔子称标记的篮子里装满了苹果。,苹果上有苹果和中国式服装的的称标记。。

      22、以下主观如次:
0 1 2 3 4 5 6 7 8 9
_ _ _ _ _ _ _ _ _ _

在账上项目填上数字。,使之适合断言。
断言如次:对应数,表现上数出如今下面的次数。,比如,下面的3是1。,代表3将在下面涌现一次。。

右键是:0 1 2 3 4 5 6 7 8 9
6 2 1 0 0 0 1 0 0 0

我的思绪是:由于以第二位行的数量是涌现要素行编号的数量。,下面是10个网格。,总共10次。。。因而以第二位行数的和是10。。

率先,从0开端。,先填9,自然产生断层。,9下面让1,仅稍微8个关心填写0。,不足胜任的塞满8,8填写以下1。,1满足至多2,不久以后不要再思索了。,由于左有7个臀部。,不足胜任的塞满0……类似地类推。当我填写6以下0,我通用下面的答案。。。

确实,可以引入两个核心合格证书。:
1、以第二位行数积和为10。。
2、两个行数的和也为10。!
这两个合格证书的答案是答案。,其次,创作顺序应验。!

//原始数值: 0,1,2,3,4,5,6,7,8,9
//涌现次数: 6,2,1,0,0,0,1,0,0,0
#include "iostream"
using namespace std;
#define len 10
class NumberTB
{
private:
    int 顶[伦]
    int 底[伦]
    bool success;
public:
    NumberTB();
    int *getBottom();
    void setNextBottom();
    int getFrequecy(int 努姆)
};
NumberTB::NumberTB()
{
    success = false;
    //format top
    为(int) i = 0; i < len; i++)
    {
        top[i] = i;
    }
}
int *NumberTB::getBottom()
{
    int i = 0;
    while(!success)
    {
        i++;
        setNextBottom();
    }
    return bottom;
}
//set next bottom
void NumberTB::setNextBottom()
{
    bool reB = true;
    为(int) i = 0; i < len; i++)
    {
        int frequecy = getFrequecy(i);
        if(bottom[i] != frequecy)
        {
            bottom[i] = frequecy;
            reB = false;
        }
    }
    success = reB;
}
//get frequency in bottom
int NumberTB::getFrequecy(int num) //此处的num 即指上排的数i
{
    int count = 0;
    为(int) i = 0; i < len; i++)
    {
        if(bottom[i] == num)
            count++;
    }
    return count; //cout 即对应frequecy
}
int main(void)
{
	int i;
    NumberTB nTB;
    int *result = ();
	cout<<"原始数值:";
	for(i=0;i<10;i++)
		cout<

 请蠲出处。,原文地址:

NameE-mailWebsiteComment

发表评论

电子邮件地址不会被公开。 必填项已用*标注