北京大学机试真题.docx

上传人:b****6 文档编号:3307479 上传时间:2022-11-21 格式:DOCX 页数:44 大小:107.16KB
下载 相关 举报
北京大学机试真题.docx_第1页
第1页 / 共44页
北京大学机试真题.docx_第2页
第2页 / 共44页
北京大学机试真题.docx_第3页
第3页 / 共44页
北京大学机试真题.docx_第4页
第4页 / 共44页
北京大学机试真题.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

北京大学机试真题.docx

《北京大学机试真题.docx》由会员分享,可在线阅读,更多相关《北京大学机试真题.docx(44页珍藏版)》请在冰豆网上搜索。

北京大学机试真题.docx

北京大学机试真题

2007年北京大学计算机研究生机试真题1110:

小白鼠排队1

时间限制:

1Sec  内存限制:

32MB

提交:

87  解决:

44

题目描述

N只小白鼠(1

现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。

帽子的颜色用“red”,“blue”等字符串来表示。

不同的小白鼠可以戴相同颜色的帽子。

白鼠的重量用整数表示。

输入

多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目。

下面有N行,每行是一只白鼠的信息。

第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

注意:

白鼠的重量各不相同。

输出

每个案例按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。

样例输入

3

30red

50blue

40green

样例输出

blue

green

red

2007年北京大学计算机研究生机试真题1111:

单词替换

时间限制:

1Sec  内存限制:

32MB

提交:

93  解决:

29

题目描述

输入一个字符串,以回车结束(字符串长度<=100)。

该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。

现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

输入

多组数据。

每组数据输入包括3行,

第1行是包含多个单词的字符串s,

第2行是待替换的单词a,(长度<=100)

第3行是a将被替换的单词b。

(长度<=100)

s,a,b最前面和最后面都没有空格.

输出

每个测试数据输出只有1行,

将s中所有单词a替换成b之后的字符串。

样例输入

Youwantsomeonetohelpyou

You

I

样例输出

Iwantsomeonetohelpyou

 

2007年北京大学计算机研究生机试真题1112:

拦截导弹2

题目描述

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。

但是这种导弹拦截系统有一个缺陷:

虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。

某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。

拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。

 

输入每组输入有两行,

第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),

第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。

输出每组输出只有一行,包含一个整数,表示最多能拦截多少枚导弹。

样例输入

8

30020715530029917015865

样例输出

6

2007年北京大学计算机研究生机试真题1113:

二叉树

题目描述

 

   如上所示,由正整数1,2,3……组成了一颗特殊二叉树。

我们已知这个二叉树的最后一个结点是n。

现在的问题是,结点m所在的子树中一共包括多少个结点。

   比如,n=12,m=3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。

输入   输入数据包括多行,每行给出一组测试数据,包括两个整数m,n(1<=m<=n<=1000000000)。

最后一组测试数据中包括两个0,表示输入的结束,这组数据不用处理。

输出   对于每一组测试数据,输出一行,该行包含一个整数,给出结点m所在子树中包括的结点的数目。

样例输入

312

00

样例输出

4

2007年北京大学计算机研究生机试真题1114:

神奇的口袋3

题目描述

有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。

John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。

John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。

现在的问题是,John有多少种不同的选择物品的方式。

输入输入的第一行是正整数n(1<=n<=20),表示不同的物品的数目。

接下来的n行,每行有一个1到40之间的正整数,分别给出a1,a2……an的值。

输出输出不同的选择物品的方式的数目。

样例输入

3

20

20

20

样例输出

3

2008年北京大学图形实验室计算机研究生机试真题1115:

数字求和

题目描述给定一个正整数a,以及另外的5个正整数,问题是:

这5个整数中,小于a的整数的和是多少?

输入输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。

输出可能有多组测试数据,对于每组数据,输出一行,给出一个正整数,是5个数中小于a的数的和。

样例输入

10123411

样例输出

10

2008年北京大学图形实验室计算机研究生机试真题1116:

加减乘除

题目描述

根据输入的运算符对输入的整数进行简单的整数运算。

运算符只会是加+、减-、乘*、除/、求余%、阶乘!

六个运算符之一。

输出运算的结果,如果出现除数为零,则输出“error”,如果求余运算的第二个运算数为0,也输出“error”。

输入

输入为一行。

先输入第一个整数,空格输入运算符,然后再空格输入第二个整数,回车结束本次输入。

如果运算符为阶乘!

符号,则不输入第二个整数,直接回车结束本次输入。

输出可能有多组测试数据,对于每组数据,

输出一行。

输出对输入的两个(或一个)数,根据输入的运算符计算的结果,或者“error”。

样例输入

12+34

54-25

3*6

45/0

5!

34%0

样例输出

46

29

18

error

120

error

提示运算不会超出整型数据的范围。

0!

=1;测试数据有多组。

2008年北京大学图形实验室计算机研究生机试真题1117:

整数奇偶排序4

题目描述输入10个整数,彼此以空格分隔。

重新排序以后输出(也按空格分隔),要求:

1.先输出其中的奇数,并按从大到小排列;

2.然后输出其中的偶数,并按从小到大排列。

输入任意排序的10个整数(0~100),彼此以空格分隔。

输出可能有多组测试数据,对于每组数据,按照要求排序后输出,由空格分隔。

样例输入

4731311120473498

样例输出

4713117304123498

提示

1.测试数据可能有很多组,请使用while(cin>>a[0]>>a[1]>>...>>a[9])类似的做法来实现;

2.输入数据随机,有可能相等。

2008年北京大学图形实验室计算机研究生机试真题1118:

数制转换

题目描述

   求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。

   不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。

输入   输入只有一行,包含三个整数a,n,b。

a表示其后的n是a进制整数,b表示欲将a进制整数n转换成b进制整数。

a,b是十进制整数,2=

输出   可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。

输出时字母符号全部用大写表示,即(0,1,...,9,A,B,...,F)。

样例输入

15Aab37

样例输出

210306

提示可以用字符串表示不同进制的整数

2008年北京大学图形实验室计算机研究生机试真题1119:

IntegerInquiry

题目描述

   OneofthefirstusersofBIT'snewsupercomputerwasChipDiller.

   Heextendedhisexplorationofpowersof3togofrom0to333andheexploredtakingvarioussumsofthosenumbers.

   "Thissupercomputerisgreat,''remarkedChip.

   "IonlywishTimothywereheretoseetheseresults.''

   (Chipmovedtoanewapartment,onceonebecameavailableonthethirdflooroftheLemonSkyapartmentsonThirdStreet.)

输入

   Theinputwillconsistofatmost100linesoftext,eachofwhichcontainsasingleVeryLongInteger.EachVeryLongIntegerwillbe100orfewercharactersinlength,andwillonlycontaindigits(noVeryLongIntegerwillbenegative).

   Thefinalinputlinewillcontainasinglezeroonalinebyitself.

输出

   YourprogramshouldoutputthesumoftheVeryLongIntegersgivenintheinput.

样例输入

123456789012345678901234567890

123456789012345678901234567890

123456789012345678901234567890

0

样例输出

370370367037037036703703703670

提示注意输入数据中,VeryLongInteger可能有前导0

2008年北京大学图形实验室计算机研究生机试真题1120:

全排列5

题目描述

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。

我们假设对于小写字母有'a'<'b'<...<'y'<'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。

输入输出只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。

输出

输出这个字符串的所有排列方式,每行一个排列。

要求字母序比较小的排列在前面。

字母序如下定义:

已知S=s1s2...sk,T=t1t2...tk,则S

s1=t1,s2=t2,...,sp-1=tp-1,sp

样例输入

abc

样例输出

abc

acb

bac

bca

cab

cba

提示

每组样例输出结束后要再输出一个回车。

2008年北京大学图形实验室计算机研究生机试真题1121:

首字母大写

题目描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。

在字符串中,单词之间通过空白符分隔,空白符包括:

空格('')、制表符('\t')、回车符('\r')、换行符('\n')。

输入输入一行:

待处理的字符串(长度小于100)。

输出可能有多组测试数据,对于每组数据,输出一行:

转换后的字符串。

样例输入

ifso,youalreadyhaveagoogleaccount.youcansigninontheright.

样例输出

IfSo,YouAlreadyHaveAGoogleAccount.YouCanSignInOnTheRight.

2008年北京大学图形实验室计算机研究生机试真题1122:

吃糖果

题目描述

名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有N块巧克力,20>N>0)。

妈妈告诉名名每天可以吃一块或者两块巧克力。

假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。

例如:

如果N=1,则名名第1天就吃掉它,共有1种方案;

如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;

如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;

如果N=4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。

现在给定N,请你写程序求出名名吃巧克力的方案数目。

输入输入只有1行,即整数N。

输出可能有多组测试数据,对于每组数据,输出只有1行,即名名吃巧克力的方案数。

样例输入

4

样例输出

5

2008年北京大学图形实验室计算机研究生机试真题1123:

采药6

时间限制:

1Sec  内存限制:

32MB

提交:

53  解决:

24

题目描述

辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。

为此,他想拜附近最有威望的医师为师。

医师为了判断他的资质,给他出了一个难题。

医师把他带到个到处都是草药的山洞里对他说:

“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。

我会给你一段时间,在这段时间里,你可以采到一些草药。

如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。

如果你是辰辰,你能完成这个任务吗?

输入

输入的第一行有两个整数T(1<=T<=1000)和M(1<=M<=100),T代表总共能够用来采药的时间,M代表山洞里的草药的数目。

接下来的M行每行包括两个在1到100之间(包括1和100)的的整数,分别表示采摘某株草药的时间和这株草药的价值。

输出

可能有多组测试数据,对于每组数据,

输出只包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。

样例输入

703

71100

691

12

样例输出

3

2008年北京大学图形实验室计算机研究生机试真题1124:

DigitalRoots

时间限制:

1Sec  内存限制:

32MB

提交:

45  解决:

22

题目描述

   Thedigitalrootofapositiveintegerisfoundbysummingthedigitsoftheinteger.Iftheresultingvalueisasingledigitthenthatdigitisthedigitalroot.Iftheresultingvaluecontainstwoormoredigits,thosedigitsaresummedandtheprocessisrepeated.Thisiscontinuedaslongasnecessarytoobtainasingledigit.

   Forexample,considerthepositiveinteger24.Addingthe2andthe4yieldsavalueof6.Since6isasingledigit,6isthedigitalrootof24.Nowconsiderthepositiveinteger39.Addingthe3andthe9yields12.Since12isnotasingledigit,theprocessmustberepeated.Addingthe1andthe2yeilds3,asingledigitandalsothedigitalrootof39.

输入   Theinputfilewillcontainalistofpositiveintegers,oneperline.

   Theendoftheinputwillbeindicatedbyanintegervalueofzero.

输出   Foreachintegerintheinput,outputitsdigitalrootonaseparatelineoftheoutput.

样例输入

24

39

0

样例输出

6

3

2008年北京大学图形实验室计算机研究生机试真题1125:

大整数的因子7

时间限制:

1Sec  内存限制:

32MB

提交:

71  解决:

23

题目描述

已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k.

输入

若干个非负整数c,c的位数<=30

每行一个c,当c=-1时中止

(不要对-1进行计算!

输出

每一个c的结果占一行

1)若存在满足c%k==0的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。

2)若没有这样的k则输出"none"

样例输入

30

72

13

-1

样例输出

2356

234689

none

提示

注意整数溢出问题

不要对-1进行计算

2008年北京大学图形实验室计算机研究生机试真题1126:

打印极值点下标

时间限制:

1Sec  内存限制:

32MB

提交:

47  解决:

29

题目描述

在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,

或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。

输入每个案例的输入如下:

有2×n+1行输入:

第一行是要处理的数组的个数n;

对其余2×n行,第一行是此数组的元素个数k(4

输出每个案例输出为n行:

每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔。

样例输入

3

10

10121211111223241212

15

12121221122222112222217636312342567676

15

12141221122222222222217636312342567673

样例输出

07

234561012

023101214

2008年北京大学图形实验室计算机研究生机试真题1127:

简单密码8

题目描述

JuliusCaesar曾经使用过一种很简单的密码。

对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。

比如字符A用F来代替。

如下是密文和明文中字符的对应关系。

密文

ABCDEFGHIJKLMNOPQRSTUVWXYZ

明文

VWXYZABCDEFGHIJKLMNOPQRSTU

你的任务是对给定的密文进行解密得到明文。

你需要注意的是,密文中出现的字母都是大写字母。

密文中也包括非字母的字符,对这些字符不用进行解码。

输入

输入中的测试数据不超过100组。

每组数据都有如下的形式,而且各组测试数据之间没有空白的行。

一组测试数据包括三部分:

1.   起始行-一行,包括字符串"START"

2.   密文-一行,给出密文,密文不为空,而且其中的字符数不超过200

3.   结束行-一行,包括字符串"END"

在最后一组测试数据之后有一行,包括字符串"ENDOFINPUT"。

输出

对每组数据,都有一行输出,给出密文对应的明文。

样例输入

START

NSBFW,JAJSYXTKNRUTWYFSHJFWJYMJWJXZQYTKYWNANFQHFZXJX

END

START

NBTZQIWFYMJWGJKNWXYNSFQNYYQJNGJWNFSANQQFLJYMFSXJHTSINSWTRJ

END

START

IFSLJWPSTBXKZQQBJQQYMFYHFJXFWNXRTWJIFSLJWTZXYMFSMJ

END

ENDOFINPUT

样例输出

INWAR,EVENTSOFIMPORTANCEARETHERESULTOFTRIVIALCAUSES

IWOULDRATHERBEFIRSTINALITTLEIBERIANVILLAGETHANSECONDINROME

DANGERKNOWSFULLWELLTHATCAESARISMOREDANGEROUSTHANHE

2008年北京大学图形实验室计算机研究生机试真题1128:

求平均年龄

题目描述

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

输入第一行有一个整数n(1<=n<=100),表示学生的人数。

其后n行每行有1个整数,取值为15到25。

输出可能有多组测试数据,对于每组数据,

输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。

样例输入

2

18

17

样例输出

17.50

提示要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:

printf("%.2f",num);

2008年北京大学图形实验室计算机研究生机试真题1129:

Skew数9

时间限制:

1Sec  内存限制:

32MB

提交:

34  解决:

28

题目描述

在skewbinary表示中,第k位的值xk表示xk*(2k+1-1)。

每个位上的可能数字是0或1,最后面一个非零位可以是2,

例如,10120(skew)=1*(25-1)+0*(24-1)+1*(23-1)+2*(22-1)+0*(21-1)=31+0+7+6+0=44.

前十个skew数是0、1、2、10、11、12、20、100、101、以及102。

输入

输入包含一行或多行,每行包含一个整数n。

如果n=0表示输入结束,否则n是一个skew数

输出

可能有多组测试数据,对于每一个输入,

输出它的十进制表示。

转换成十进制后,n不超过231-1=2147483647

样例输入

10120

200000000000000000000000000000

10

1000000000000000000000000000000

11

100

1111100000111000010110110200

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1