2008,2009,2010三年西电计算机复试上机题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2008年

Problems A.请写一个程序,判断给定整数序列能否构成等差数列

输入说明:多组数据,每组输入数据由两行构成,第一行只有一个整数n(<1000),表示序列长度(即序列中整数的个数,0表示输入结束),第二行为n个整数,每个整数的取值区间都为[-32768----32767],整数之间以空格或挑格间隔。

输出说明:对于每一组数据,输出一个yes或no,表示该序列能否构成等差数列。

输入样本:

6

23 15 4 18 35 11

3

3 1 2

输出样本:

yes

no

Problem B.判断给定正整数是不是“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和等于该数,例如153=13+53+33。

输入说明:有多组数据,每组数据为一个正整数n(0

输出说明:对于每一组数据,输出一个yes或no(表示该数是否为“水仙花数”)。输入样本:

153

111

370

422

输出样本:

yes

no

yes

no

Problem C. Arnold变换是一种常用的图像置乱技术,Arnold变换的定义如下:对任意N*N矩阵(所有元素都相同的矩阵除外),设i,j为矩阵元素原始下标,经过Arnold变换后新下标为i',j',且满足下式:

i'=(i+j)mod N

j'=(i+2j)mod N

i,j:0,1,.........N-1

Arnold变换具有周期性,即经过若干次变换后,矩阵回到最初状态,且周期T

与N的大小有关。对于任意N>2,TN<=N2/2,请编写程序输出给定的N(2

输入说明:有多组数据,每组数据只有一个整数N(2

时表示输入结束。

输出说明:对输入的每一N,给出N*N矩阵的Arnold变换的周期T。

输入样本:

3

8

输出样本:

4

6

Problem D.对于一个正整数n,如果它的各位之和等于它的所有质因数的各位之和,则该数被称为Smith数。例如,31257=3*3*23*151,31257的各位数字之和为3+1+2+5+7=18,它的所有质因数的各位数字之和为3+3+2+3+1+5+1=18,因此,31257是一个Smith数。编写一个程序判断输入的正整数是不是Smith数。

输入说明:有多组数据,每组数据只有一个整数n(<100000,占一行),为0时表示输入结束。

输出说明:对于每一组数据,输出一个yes或no(表示该数是否为Smith数)。输入样本:

31257

123

输出样本:

yes

no

Problem E. 请写一个程序,计算Rn精确结果(0.0

0

输入说明:有多组数据,每组数据占一行,用一对数据表示,第一个数据是R(含小数点共6位),第二个数据是n,两个数之间有一个空格。

输出说明:对每个输入输出其结果(占一行)

输入样本:

95.123 12

0.4321 20

6.7592 9

98.999 10

1.0100 12

输出样本:

548815620517731830194541.899025343415715973535967221869852721

.00000005148554641076956121994511276767154838481760200726351203835429 763013462401

29448126.764121021618164430206909037173276672 90429072743629540498.107596019456651774561044010001

1.126825030131969720661201

2009年

1.考试时间150分钟,时间到服务器会自动中止,客户端无法继续提交。

2.本试题共5题,满分100分。

3.如果使用VC++,在提交源程序时请去掉#include

4.main函数需要int型返回值。

5.评判系统只接收源代码(.cpp或者.c),提交其他文件都返回错误。

6.源程序名称不要使用空格和中文字符。

7.提交源程序后不必等待服务器回应,可能有延迟。

8.禁止使用U盘等电子设备,可以携带书籍,但不能携带打印的资料。

9.所有题目都采用标准输入stdin,标准输出stdout,在一行输出多个整数时,每个整数后面跟一个空格,最后换行。

10.题目中给出的输入样本仅供参考,服务器的判定数据通常比输入样本多。

11.客户端的用户名和密码相同,如果你的用户名是team1,密码也是team1.

12.题目中没有明确说明输入结束标志时,以文件结尾作为结束。

Problem A:请写一个程序,给出指定整数范围【a ,b】内所有的完数,一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数,例如6是完数,因为6=1+2+3。

输入说明:共一组数据,为两个正整数,分别表示a和b(1

输出说明:指定范围内的所有完数,每个数占一行。

输入样本

1 100

输出样本

6

28

Problem B:请写一个程序,对于一个m行m列的(1

输入说明:共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。

输出说明:从大到小排列的一行整数,每个整数后跟一个空格,最后换行。

输入样本:

4

15 8 -2 6

31 24 18 71

-3 -9 27 13

17 21 38 69

输出样本:

159 145 144 135 81 60 44 32 28 27

Problem C:对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31,),计算并输出该整数的最大因子(如果是素数,则其最大因子为自身)

输入说明:有多组数据,输入数据的第一行为一个正整数,表示字符序列的数目,

相关文档
最新文档