《NET程序员面试宝典》未出版的284Word文件下载.docx
《《NET程序员面试宝典》未出版的284Word文件下载.docx》由会员分享,可在线阅读,更多相关《《NET程序员面试宝典》未出版的284Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
Multiply:
(numberinbox6)*(numberinthebox1)putresultintobox5.
(盒6数×
盒号为盒6数的数之积置于盒5中)
Whatnumberisnowinbox5?
(盒5中数是多少)
解析:
流程步骤如下:
(1)盒4数+盒2数之和置于盒7,即2+3=5,盒7数现在为5。
(2)盒7数为5,盒6数为2,盒2数为3。
盒7数+盒2数之和置于盒6,即5+3=8,盒6数现在为8。
(3)盒6数为8,盒1数为6,盒6数×
盒1数之积置于盒5,即6×
8=48,盒5数现在为48。
答案:
48。
面试例题2:
如下表,8个盒子,分别装一些数字。
Box#12345678
7
5
12
4
Put:
(numberinbox8)intobox1.(盒8数置于盒1)
(numberinbox1)+(numberinthebox2),putresultintobox1.
(盒1数+盒2数之和置于盒1)
ChangeInstruction2:
Increasethesecondbox-numbermentionedinit,by1.
(改变步骤2:
提高第二个提及的盒号码+1)
IsThesecondboxnumbermentionedinInstruction2,greaterthan(numberinbox7)?
(步骤2中第二个提及的盒号码>
盒7数)
Whatnumberisnowinbox1?
(盒1数为多少?
)
(1)盒8数置于盒1,盒8数为0,所以盒1数为0。
(2)盒1数+盒2数之和置于盒1,即0+7=7,盒1数现在为7。
(3)改变步骤2:
提高第二个提及的盒号码+1,第二个提及的盒号码为盒2,现在改为盒3。
(4)看第二个提及的盒号码是否大于盒7数,盒7数字为4,盒号码3还不大于盒7数。
(5)盒1数+盒3数之和置于盒1,即7+2=9,盒1数现在为9。
(6)改变步骤2:
提高第二个提及的盒号码+1,第二个提及的盒号码为盒3,现在改为盒4。
(7)看第二个提及的盒号码是否大于盒7数,盒7数字为4,盒号码4还不大于盒7数。
(8)盒1数+盒4数之和置于盒1,即9+1=10,盒1数现在为10。
(9)改变步骤2:
提高第二个提及的盒号码+1,第二个提及的盒号码为盒4,现在改为盒5。
(10)看第二个提及的盒号码是否大于盒7数,盒7数字为4,盒号码5大于盒7数。
10。
面试例题3:
如下表,12个盒子,分别装一些数字。
Box123456789101112
-9
-2
Substract:
(numberinbox10)-1,putresultintobox10.(盒10数-1后置于盒10)
Put(numberinbox9)intobox1.(盒9数置于盒1)
Isthefirstbox-numbermentionedinInstruction2,anevennumber?
(在Instruction2提及的第一个盒号码是偶数吗?
)
Takeasyournextinstruction,theonewhosenumberisintheboxwhosenumberisinbox8.(将下面这个作为步骤:
步骤数为盒号码为盒8数的数。
Decreasethefirstbox-numbermentionedinit,by1.(改变步骤2:
将第一个提及的盒号码-1)
(numberinbox10)+(numberinthebox4),putresultintobox10.(盒10数+盒4数后置于盒10)
Decreasethefirstbox-numbermentionedinit,by1.Andincreasethesecondbox-numbermentionedinit,bynumberinbox11.(改变步骤2:
将第1个提及的盒号码-1,将第2个提及的盒号码+盒11数)
Isthelastbox-numbermentionedinInstruction2,equalto(numberinbox12)?
(步骤2中最后一个提及的盒号码=盒12数?
TakeasyournextInstruction,theonebeforeInstruction3.(将下面这个作为步骤:
步骤数为步骤3前的那个。
Whatnumberisnowin?
Box3?
_____
Box10?
_____
(1)盒10数-1置于盒10,盒10数原为3,所以盒10数为2。
(2)盒9数置于盒1,盒1数现在为6;
(3)步骤2中提到的第一个盒号码是偶数吗?
步骤2中提到的第一个盒号码是盒9,非偶数。
(4)因为非偶数执行步骤4,步骤数为盒号码为盒8数的数。
盒8数为9,盒9数为6。
也是执行步骤6,步骤6是将盒10数+盒4数后置于盒10;
盒10数为2,盒4数为3,累加后盒10数为5。
(5)改变步骤2:
将第一次提到的盒号码减1;
步骤2第一次提到的盒号码9-1为盒8。
(6)盒10数+盒4数后置于盒10;
盒10数为5,盒4数为3,累加后盒10数为8。
(7)改变步骤2:
将第1个提及的盒号码-1,步骤2第一次提到的盒号码8-1为盒7。
将第2个提及的盒号码+盒11数。
步骤2第2次提到的盒号码1+盒11数1=盒2。
(8)看步骤2中最后一个提及的盒号码=盒12数?
步骤2中最后一个提及的盒号码为盒2,盒12数为4。
故两者不等。
(9)将下面这个作为步骤:
即执行步骤2:
盒7数置于盒2。
盒3没有变动,仍为-9。
盒10为8。
面试例题4:
Theobjectofthefollowingflow-chartistorearrangeinboxes1,2and3insuchafashionthat,attheend:
(该流程图的目标是重组盒1,2,3以达到如下目标)[美国体育网络A公司2008年逻辑测试题]
Box3willalwayscontainthelargestmumber.(盒3数最大)
Box1willalwayscontainthesmallestmumber.(盒1数最小)
However,thisflow-chartisINCORRECT,anditstands,itwillnotaccomplishthedesiredpurpose.(然而,此流程图并不正确,如果按此算法,将无法达到目的)
Whichoneinstructionmustbechangedtocorrecttheflow-chart.(哪一个指令必须修正才能达到目标)
Is(Numberinbox1)lessthan(Numberinbox2)?
(盒1数<
盒2数?
Put(numberinbox1)intobox4.(盒1数置于盒4)
Put(numberinbox2)intobox1.(盒2数置于盒1)
Put(numberinbox4)intobox2.(盒4数置于盒2)
Is(Numberinbox3)lessthan(Numberinbox2)?
(盒3数<
Put(numberinbox2)intobox4.(盒2数置于盒4)
Put(numberinbox3)intobox2.(盒3数置于盒2)
Put(numberinbox4)intobox3.(盒4数置于盒3)
如果对逻辑程序比较熟悉,可以看到问题出现在Instruction5,因为如果盒3数<
盒2数就直接End,盒3数就不可能最大了。
本题实际上分为两块,Instruction2,3,4作为一块,用来计算盒1,盒2中较小的数,并交换位置,盒4的用处是作为中转空间;
Instruction6,7,8作为一块,用来计算盒2,盒3中较大的数,并交换位置,盒4的用处是作为中转空间。
只要保证盒1<
盒2,且盒2<
盒3,就能满足题意。
将Instruction5的Is(Numberinbox3)lessthan(Numberinbox2)?
修改为Is(Numberinbox3)morethan(Numberinbox2).
面试例题5:
Thisfollowingflow-chart(如下图):
EithertheletterBortheletterEinbox4.(在盒4中只可能是B或E)
Whichoftheboxes1,2,3Cannotpossiblycontainthelargestnumber_______(盒1,2,3不可能包含最大的数),thesmallestnumber______.(盒1,2,3不可能包含最小的数)
如果盒4中为B,则反推条件,可以得出
(2)>
(1)>
(3);
如果盒4中为E,则反推条件,可以得出(3)>
(2)>
(1);
所以
(1)不可能最大,
(2)不可能最小。
(1)
(2)。
面试例题6:
Thepurposeofthefollowingflow-chartistoaddupthenumbersinboxes3,4,5,6,9,10and11,andtoputthetotaltobox7.(流程图的目的是加盒子3,4,5,6,9,10和11里面数字之和,然后把结果放到盒7中)
Inordertoaccomplishexactlythis-nomoreandnoless-whatnumbermustbeinbox2?
(为了达到以上的目的,盒2应该放什么数)[美国体育网络A公司2008年逻辑测试题]
12345678910111213
Putazerointobox7.(盒7置0)
(numberinbox7)+(numberinbox3),putresultintobox7.(盒7数+盒3数之和置于盒7)
Isthesecondbox-numbermentionedinInstruction2,lessthan(numberinbox2)?
(Instruction2中第二个提到的盒号码<
盒2数)
(numberinbox11)+(numberinbox7).Putresultintobox7.(盒11数+盒7数之和置于盒7)
Increasethesecondbox-numbermentionedinit,by1.(改变Instruction2中第二个提到的盒号码+1)
ChangeInstruction4:
Decreasethefirstbox-numbermentionedinit,by1.(改变Instruction4中第一个提到的盒号码-1)
Whatnumbermustbeinbox2?
______________(盒2中数必为多少?
首先要搞清楚两个概念:
box-number和numberinbox;
前者是盒的号码数:
盒1,盒2,盒3,…而后者是盒中的数字。
本题考的是数字的累加,在Instruction2先添加了盒3数,在Instruction4再添加了盒11数。
然后在Instruction5,Instruction6中分别给Instruction2,Instruction4改变了要添加的盒数。
Instruction5增加了盒号,Instruction6减少了盒号,所以本题完整的添加顺序是:
(7)=0;
(7)=(7)+(3);
(7)=(7)+(11);
(7)=(7)+(4);
(7)=(7)+(10);
(7)=(7)+(5);
(7)=(7)+(9);
(7)=(7)+(6);
(7)=(7)+(8);
所以盒2中的数只有为7,才能正好满足条件。
7。