不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

— . 选择题 ( 每題 1 . 5 分 ,共3 0分。 每小题只有唯一个 正确答案 )

1. 一个 16 位整型变量占用( )个字节

  • A.1
  • B.2
  • C.4
  • D.8

2. 表达式 29 div 5 mod 2 + trunk(3.78)的值是()

  • A.33
  • B.32
  • C.4
  • D.5

3. 字母信息在计算机中最终是以数值的形式存储的,ascii 码统一规定了常用符号用哪些数值来表示,例如字母‘Z'的 ascii 码是十进制的 90,字母‘L’的 ascii 码是十进制( ),

  • A. 108
  • B.90
  • C.76
  • D.75

4. 下列选顶中不属于音频文件格式的是()

  • A.wav 格式
  • B.mp3 格式
  • C.avi 格式
  • D.flac 格式

5. 如主存容量为 32M 字节,且按字节编址,表示该主存地址至少应需要()位

  • A.16
  • B.20
  • C.25
  • D.32

6. 如果一棵二叉树的前序遍历是 ABDEFC.中序遍历是 DEBFAC,那么它的后序遍历是 ()

  • A.ABCDFE
  • B.CAFBED
  • C.EDFBCA
  • D.DEFBCA

7. 表达式 a*(b+c)-d 的后缀表达式是()

  • A.abcd*+-
  • B.abc+*d-
  • C.abc*+d-
  • D. -+*abcd

8. 计算机所能辨认的最小信息单位是()

  • A.字节
  • B.位
  • C.字符串
  • D.(K)

9. 对于下图,至少要减掉()条边,使之存在一条路径,经过图中每条边一次且仅一次

  • A.0
  • B.1
  • C.2
  • D.3

10. NFC 是近距离无线通讯技术,此项可以用在手机上,以下()不属于此技术在手机上的应用实例

  • A.手机登录 wifi 刷微信
  • B.手机机场登机验证
  • C.手机充当大厦的门禁钥匙
  • D.手机公交刷卡

11. 己知有 abcdef 六个整型变量,大小关系如下: a>b,a>c,a>d,b>f,b>c,f>d,d>c,f>e,d>e,c>e 根据以上大小关系,请分折六个整型变量第 3 大的是( )

  • A.a
  • B.b
  • C.d
  • D.f

12. 一片容量为 16GB 的 SD 卡能存储大约()张大小为 2MB 的码照片。

  • A.2000
  • B.4000
  • C. 8000
  • D.16000

13. 下列哪个不属于物联网的应用实例( )

  • A.电脑实时显示快递车辆运动轨迹
  • B.苹果手机小偷刷机时警察定位并抓荻
  • C.远监控工地施工
  • D.实况足球里的角色具备 c 罗、梅西的个人能力

14. 互联网其中一大优势就是可以共享资源,以下哪项活动不属于共享资源( )

  • A.为网民提供代理服务器加速流览国外网站。
  • B.设计一个学生信息的数据库
  • C.QQ 传输文件
  • D.在校网上发布最新版编程软件

15. 15、三位水仙花数是指每个位上的数字的3 次幂之和等于它木身。(例如:1^3+5^3+3^3=153) 找所有三位水仙花数程序如下,它的算法属于( ) for i:l to 9 do for j:=0 to 9 do for k:=0 to 9 do if(i*i*i+j*j*j+k*k*k=i*100+j*10+k) then ……

  • A.动态规划
  • B.贪心
  • C.枚举
  • D.递归

16. 如果一个栈始时为字.当前栈中的元素从栈底到栈顶依次为 a,b·另有元素 c,d,己经出栈,则不可能的人栈顺序是()。

  • A.bacd
  • B.cdab
  • C.cadb
  • D.dabc

17. 二进制数 10101 转化成十进制表示是()

  • A.42
  • B.21
  • C.13
  • D.25

18. 18、己知逻辑表达式值为 false 的是() a=true b=false c=false d=true

  • A.a and b xor c and d
  • B.a Or b and c or d
  • C.a xor b or c and d
  • D.a or b xor d and c

19. 计算机前端总线的英文名字是 Front Side Bus,用 FSB 表示.指的是将 CPU 接到( )的总线。

  • A.内存
  • B.北桥芯片
  • C.南桥芯片
  • D.I/O 设备

20. 第 45 届全球超级汁算机 500 强排行榜.于 2015 年 7 月公布,冠军是()

  • A.中国“天河二号”
  • B.美国橡树岭国家验率的“泰坦”
  • C.日本理化学研究所的

二.问题求解(每理5分,共10分)

1. 豆豆是个对数学非常敏感的孩子,刚学了加法,他就发现3的所有倍数个位数字都是有规律的,例如: 3,6,9,12,15,18,21,24,27,30,33,36,39,42 ....存个循环(3,6,9,2,5,8,1,4,7,0)。等到学了乘法后,他思考这个问题:3^2016(2016个3相乘)运算结果的个位上的数字是()。
答案:1

2. 豆豆课余爱好之一就是玩各种自创的数字游戏,其中一种很受同学的好评,大家经常开展比赛。这个游戏如下: 5行5列的数字方阵中选取5个数,求这5 个数任意2个既不是同一行,也不能同一列。看看谁能最先算出这5个数最大和是()。豆豆总是能胜出。看人的了。 15 06 14 12 20 03 11 18 03 13 06 09 14 09 14 13 12 07 16 19 22 14 08 07 14
答案:85

三.阅读程序,求程序运行输出结果(每题8分,共32分)

1.

var
a, b,c, d: longint; 
begin
read(a, b, c); 
a:=a+b*c; 
b:=a-c; 
c:=a+b; 
d:=b*c-a; 
a:=d*(a-b); 
writeln('a=',a);
end.
【输入】:1 1 1 
输出:a=1

2.

var
i,j:longint;
a,b:array[0..20] of longint; 
out:array[0..200] of boolean; 
begin
for i:=1 to 12  do  read(a[i]); 
for i:=1 to 15  do  read(b[i]); 
for i:=1 to 12 do
for j:=1 to 15 do
if a[i]=b[j] then out[a[i]]:=true;
for i:=1 to 90 do
if not out[i] and (i mod 8=0) then
write(i,' ');
end.
【输入】:
2 17 23 28 29 37 38 48 49 58 79 114
2 17 23 28 29 38 45 48 56 58 67 72 75 101 122
输出:8 16 24 32 40 56 64 72 80 88

3.

var
j:longint;
use:array[0..10] of boolean; 
a:array[0..10] of longint; 
procedure dfs( i: longint); 
var j:longint; 
begin
if i>2 then begin
for j:= 1 to 2 do
write(a[j],' ');
writeln;
exit
end;
for j:=a[i-1]+1 to 3 do
If not use[j] then begin
use[j]:=true;
a[i]:=j;
dfs(i+1); 
use[j]:=false;
end;
end;
begin
dfs(1);
end.
输出:1 2 1 3 2 3

4.

var
n,i,j,t,sum:longint;
a:array[0..50] of longint;
f:array[0..50] of boolean;
begin
readln(n);
for  i:= 1  to n do
read(a[i]);
fillchar(f,sizeof (f),true);
for i := 1   to n do
if f[i] then
begin
inc(sum);
t:=a[i] ;
for j:=i to n do
if f[j] and (t=a[j]) then
begin
f[j] := false;
t:=t-1;
if t=0 then 
break; 
end; 
end;
writeln(sum);
end.
【输入】:
8
9 19 11 7 3 2 6 1 

输出:5

四.完善程序(前两空每空2 分,其余八空每空3 分,共 28 分)

1. 买书
书店有个买2送1的活动:买3本书只要付较贵的2本就可以了。举个例子:
10 3 2 4 6 4 9 , 如果这样组合(10, 3, 2), (4, 6, 4) and(9),就能在第一个括号中省下2元,第二括号中省下4元,但第三个括号不能省了,因为不足3本书。
售货员是个热心肠也爱动脑筋的人,他想为每位顾客尽可能多的省钱,请你帮助她吧。
注意:不一定非要组合三本书一堆,但一堆的数量必须是1到3
输入的第一行一个整数N,表示书的数量。接下来的N行,每行包含一个整数Ci,表示每本书的价格。输出一个数。表示最终要为这些书付出的最小价格。
解题思路:贪心的策略,按照书费的降序排序,挑尽可能贵的2本放在一起来省去书费,反复操作,直到书少于3本样例中10 3 2 4 6 4 9 就可以这样分组:
(10 9 6) 、(4 4 3)、(2),很显然省去了6+3+2=9,这是最省钱的分组方案,根据这个思路,请完善以下程序

var
n,i:longint;
a:array[0..100001] of longint; 
s:int64;
procedure sort(l,r:longint);//sort过程实现a数组值的降序排序
var i,j,x,y:longint;
begin
i:=l; j:=r; x:=a[(l+r) div 2]; 
repeat
while x<a[i] do inc(i); 
while x>a[j] do dec(j); 
if not(i>j) then 
begin
y:=a[i];a[i]:=a[j]; a[j]:=y; 
inc(i); j:=j-1;
end;
until i>j; 
if l<j  then sort(l,j); 
if i<r then sort(i,r); 
end; 
begin 
readln(n); 
for i:= 1 to n do 
read(a[i]); 
sort(1,n); 
for i:= 1 to n do 
if i mod 3<>0 then 
s:= s+a[i]; 
writeln(s); 
end.

2. 拼木棍
有一些同样长的木棍,把这些木棍随意砍成几段。现在,他想把小木棍拼接成原来的的样子,但是忘记了自己开始时有多少根木棍和它们的的长度。
给出每段小木棍的长度,编程找出原始木棍的最小可能长度。
输入第一行为一个单独的整数N表示砍过以后的小木棍的总数。笫二行为N个用空格隔开的正整数,表示N根小木棍的长度,输出仅一行,表示要求的原始木棍的最小可能长度。
样例输入:
9
5 2 1 5 2 1 5 2 1
样例输出:
6
解题思路:
枚举原始木棍长度,然后验证小木棍是否能拼凑出该枚举长度的整数倍,但要充分利用题目的隐含的信息进行优化,不然会超时
优化1:原始木棍长度>=最大的小木棍长度,原始木棍长度<=小木棍长度之和
优化2:小木棍的长度之和一定是原始的木棍长度的倍数
优化3:小木棍应该由大到小去拼凑枚举出来的原始木棍长度
优化4:当每次尝试接入小木棍后,大木棍未达到要求长度时,尝试接入的下一根小木棍要和刚刚接入小木棍和长度不相等
优化5:当一个小木棍接入后,刚好达到原始木棍长度,在以后的尝试中没有必要用更小的小木棍代替这个刚接入的小木棍
根据以上解题思路完善如下程序

var
n,i,L,max,sum,j:longint;
a:array[0..100] of longint; 
visit:array[0..100] of boolean;
procedure dfs(k,now:longint);
var
i,last:longint;
begin
if (k>n) and (now=0) then 
begin 
writeln(L); 
halt;//退出整个程序 
end;
if k>n then exit;
last:=0;
for i:=1 to n do
if (not(visit[i])) and (now+a[i]<=L) and (a[i]<>last)  then
begin
visit[i]:=true; 
if (now+a[i]=L)  then 
begin
dfs(k+1,0);
visit[i]:=false;
exit;//这里的退出体现了优化5
end;
dfs(k+1,now+a[i]);
visit[i]:=false;
last:=a[i];
if now=0 then exit;
end;
end;
begin
readln(n);
i:=n;
while i>0 do
begin
read(L);
  inc(sum,L)  ;
a[i]:=L;
i:=i-1;
if L>max then max:=L;
end;
for i:=1 to n do 
for j:=i+1 to n do
if  a[i]<a[j] then //将所有木棍从大到小排序,利用优化3
begin
L:=a[i];
a[i]:=a[j];
a[j]:=L;
end;
for L:=max to sum do//枚举原始木棍长度L长度时由小到大枚举.利用优化1
if sum mod L=0 then //优化 2 
dfs(1,0);
end.