NOIP2007初赛提高组试题和答案
2007年noip提高组题目解析

[解题思想2 by peterche1990/2wsx2wsx2wsx/czp] 容易求出所有最长路,以及所有最长路上的点。依 次枚举,复杂度是O(KN^3),其中K是最长路的条数。 该算法易于实现,但是写得不好会TLE1个点,部分 大牛就是这样没有得400的。
[解题思想3] 引理:如果树有多条直径,则每条直径上都存在一个core。 明:首先,如图,如果ABCD和FBCE都是直径的话,则AB=FB, CD=CE(如果不然,可设AB>FB,则FBCE<ABCE,矛盾!)。 这样,ABCE,FBCD也都是直径。我们给BC起个名字叫“公共 段”。题目中说过,公共段必然存在。 考虑ecc的定义,路径的ecc是指所有的点到路径的距离的最大值。 核指的是直径上长度满足约束的ECC最小的子路经。假如根据直径 ABCE算得的core是GHBI,路径GHBI的ecc就是max{BF,AG,DI,EI}, 这个最大值取到了最小。由于DC=EC,也就是说,如果路径和公 共段有交集,公共段的一端上,不包含CORE的直径是可以任选的。 换言之,此时max{BF,AG,ID}有最小值,此时用AB替换BF,发现必 然有BF=AB>AG,ecc=max{BF,ID}。也就是说,如果路径和公共段 有交集,实际计算max时,只需要计算路径在公共段上的部分的 ecc,然后和公共段两端的路径长取一遍MAX就行了。
第四个题目 core [题目转述] 给出一棵无根树,边上有权。称最长路径为直径, 定义路径的偏心距为:点到路径的上的点的最小值 的距离的最大值,给出一个s,找出直径上的某段长 度不超过s的路径,使得偏心距最小。
[解题思想] 算法是严格立方的。中心理念是不要做重复的工作。算法比较笨 拙。考虑到树的性质,对于任意两点,最短路=联通路=最长路。 首先求出多源最短路,该步可以由类似Tarjan的算法,在O(N^2) 内解决。实际上由于下一步的复杂度高达三次方,这里就直接 floyd了。同时可以求出最长路径上都有哪些点。在NOI2007中, 记录最短路的中间结点是很有用的。设mid[a,b]是a,b之间的联通 路上的一个中间点,。 由于这是一棵树,最短路必然唯一。考虑问题的解,构造一个函 数F(k,a,b)为K到ab间的最短路的长度。则 f(k,a,b)=min{d[k,mid[a,b],f[k,a,mid[a,b]],f[k,mid[a,b],b]} 写出了这 个方程,便不难得出一个三次方的算法。 在实际coding的时候,把k放在最外层枚举,这样内层实际上只 用到了f的后面2维,用2维数组记录即可。
1999年至2013年历年信息学奥赛提高组初赛答案

NOIP2013第十九届全国青少年信息学奥林匹克联赛初赛(提高组)试题解析一、单选题(15*1.5)1、A,一个字节有8个bit,32位整型变量占用4个字节,故选A。
2、A,二进制11.01转为十进制,(11.01)2 = 1*2+1+0*0.5+1*0.25 = (3.25)10 。
3、B,老和尚给小和尚讲的故事里边有故事本身,递归是函数内部调用函数本身,故选B,递归。
4、D,香农信息论鼻祖。
5、A,一定是满二叉树时拥有2个字节点的节点数最多,最下一层会有2013-1023=990个节点,于是倒数第二层会有990/2=495个节点有2个字节点,从第1层到倒数第三层共有1023-2^9=511个节点,且这些节点都是用2个子节点的节点,所以共有495+511=1006个,选A。
6、B,要使图不联通,只要其中某一个节点不连通即可,所有顶点度最少是3,所以最少需要删除3条边,选B。
7、D,此题最开始一眼扫到的时候脑子进水,跟学生将选B,O(n),实际上不是,计算F1需要1次,计算F2需要一次,计算Fn需要计算F(n-1)的次数加上F (n-2)的次数,所以其实就是计算Fn次,于是答案选择D,至于这个Fn到底是多大,数学上可以计算,它等于O(((1+sqrt(5))/2)^n).8、B,这个必须是B,没有什么好说的,中序遍历保证左边都是小于根的,右边都是大于根的,所以可以保证是一个有序序列。
9、D,A项6和17对11取余都是6发生冲突,B项10的平方和17的平方对11取余都是1发生冲突,C项6的两倍和17的两倍对11取余都是1发生冲突,D项分别为1,2,3,4,不冲突。
10、D,IPV6地址是128位的。
谢谢网友指正!11、C,二分为6个和6个的顶点,此时边最多,有36条边。
12、B,我的学生几乎全选A去了,因为之前讲题只介绍过ASCII码,但是看到统一二字也应该想到Uni...前缀啊。
13、D,64位非零浮点数强制转换成32位浮点数,两个数会有大小上的细微差别,但不会发生符号变化,因为有专门的符号位。
2007-2011年noip初赛提高组试题及答案

第十七届全国青少年信息学奥林匹克联赛初赛试题(提高组 Pascal语言两小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分。
共计30分。
每题有且仅有一个正确选项。
)1.在二进制下,1100011 +()= 1110000。
A.1011 B.1101 C.1010 D.11112.字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()。
A.66 B.5A C.50 D.视具体的计算机而定3.右图是一棵二叉树,它的先序遍历是()。
A.ABDEFC B.DBEFAC C.DFEBCA D.ABCDEF4.寄存器是()的重要组成部分。
A.硬盘B.高速缓存C.内存D.中央处理器(CPU)5.广度优先搜索时,需要用到的数据结构是()。
A.链表B.队列C.栈D.散列表6.在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指()。
A.程序运行时理论上所占的内存空间B.程序运行时理论上所占的数组空间C.程序运行时理论上所占的硬盘空间D.程序源文件理论上所占的硬盘空间7.应用快速排序的分治思想,可以实现一个求第K大数的程序。
假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为()。
A.O(n2)B.O(n log n)C.O(n) D.O(1)8.为解决Web应用中的不兼容问题,保障信息的顺利流通,()制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。
A.微软 B.美国计算机协会(ACM) C.联台国教科文组织D.万维网联盟(W3C)9.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于()算法。
A.快速排序B.插入排序C.冒泡排序D.归并排序10.1956年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。
noip初赛试题及答案

noip初赛试题及答案**NOIP初赛试题及答案**一、选择题(每题2分,共40分)1. 计算机中存储数据的最小单位是()。
A. 字节B. 位C. 字D. 双字答案:B2. 在计算机中,1KB等于()。
A. 1024字节B. 512字节C. 256字节D. 1000字节答案:A3. 下列哪种设备不是计算机的输入设备()。
A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C4. 在计算机中,二进制数1011转换为十进制数是()。
A. 11B. 12C. 13D. 14答案:A5. 计算机病毒是一种()。
A. 计算机硬件B. 计算机软件C. 生物病毒D. 计算机程序答案:D6. 下列哪种文件格式不是图片格式()。
A. JPGB. BMPC. MP3D. PNG答案:C7. 计算机操作系统的主要功能是()。
A. 管理计算机硬件B. 管理计算机软件C. 管理计算机资源D. 所有选项都是答案:D8. 以下哪个选项不是计算机网络的组成部分()。
A. 网络协议B. 网络硬件C. 网络软件D. 网络用户答案:D9. 在计算机编程中,以下哪个关键字用于定义一个类()。
A. classB. functionC. structD. interface答案:A10. 在计算机编程中,以下哪个关键字用于定义一个方法()。
A. classB. functionC. methodD. procedure答案:C二、填空题(每题2分,共20分)1. 在计算机中,一个字节由____位组成。
答案:82. 计算机的CPU是计算机的____。
答案:中央处理器3. 计算机的RAM是____存储器。
答案:随机访问4. 在计算机编程中,____是一种用于存储数据的数据结构。
答案:数组5. 在计算机编程中,____是一种用于存储键值对的数据结构。
答案:哈希表6. 计算机的USB接口是一种____接口。
答案:通用串行总线7. 在计算机编程中,____是一种用于控制程序流程的语句。
NOIP2007试题+答案+解析(学生版)

第十三届全国青少年信息学奥林匹克联赛初赛试题(普及组Pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案。
)1.在以下各项中,()不是CPU的组成部分。
A.控制器B.运算器C.寄存器D.主板2.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。
A.二叉树B.多叉树C.哈希表D.二维表3.在下列各项中,只有()不是计算机存储容量的常用单位。
A.Byte B.KB C.UB D.TB4.ASCII码的含义是()。
A.二→十进制转换码 B.美国信息交换标准代码C.数字的二进制编码D.计算机可处理字符的唯一编码5.一个完整的计算机系统应包括()。
A.系统硬件和系统软件B.硬件系统和软件系统C.主机和外部设备D.主机、键盘、显示器和辅助存储器6.IT的含义是()。
A.通信技术B.信息技术C.网络技术D.信息学7.LAN的含义是()。
A.因特网B.局域网C.广域网D.城域网8.冗余数据是指可以由其它数据导出的数据。
例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。
冗余数据往往会造成数据的不一致。
例如,上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。
下面关于冗余数据的说法中,正确的是()。
A.应该在数据库中消除一切冗余数据B.用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据C.为了提高查询效率,在数据库中可以保留一些冗余数据,但更新时要做相容性检验D.做相容性检验会降低效率,可以不理睬数据库中的冗余数据9.在下列各软件,不属于NOIP竞赛(复赛)推荐使用的语言环境有()。
A.gcc B.g++ C.Turbo C D.Free Pascal10.以下断电后仍能保存数据的有()。
NOIP2007提高组试题及解析

NOIP2007提高组试题及解析1.统计数字(count.pas/c/cpp)【问题描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。
已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
【输入】输入文件count.in包含n+1行;第一行是整数n,表示自然数的个数;第2~n+1每行一个自然数。
【输出】输出文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。
每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
【输入输出样例】count.in8242451002100count.out2 34 25 1100 2【限制】40%的数据满足:1<=n<=100080%的数据满足:1<=n<=50000100%的数据满足:1<=n<=200000,每个数均不超过1500 000 000(1.5*109)【解题思想1】显然,此题可以用排序的方法来解决,根据n的范围,可以看出,O(nlogn)的算法是可以接受的。
【解题思想2】维护一个二叉树,以数的大小作为节点的权值,以数的重复次数作为节点的附加信息。
之后中序遍历即可。
看起来,树内的节点个数应该不到n,所以可能表现不错,其算法复杂度依然为O(nlogn)【实际数据规模】挺小的,而且也没有传说中的卡Qsort的数据,全部都很温柔。
【分析】这个题目实在不能说是一道TG组的好题。
实际上,个人认为题目最大的意义在于:提供了10个测试排序算法的不怎么特别好的数据。
话说回来,此题是送分题,但是送分题送的这么水,考察的也就只有OIers的细心程度了。
在考试的时候,要相信有简单的题目,要相信有直接的算法。
在我的身边就有几个同学因为这个题目与一等失之交臂,这是最可惜的事情。
var a:array[1..200001] of longint;i,j,k,m,n:longint;procedure qsort(s,t:longint);var i,j,mid,temp:longint;begini:=s;j:=t;mid:=a[(s+t) div 2];while i<=j dobeginwhile a[i]<mid do inc(i);while a[j]>mid do dec(j);if i<=j thenbegintemp:=a[i];a[i]:=a[j];a[j]:=temp;inc(i);dec(j);end;end;if i<t then qsort(i,t);if j>s then qsort(s,j);end;beginreadln(n);for i:=1 to n do readln(a[i]);qsort(1,n);a[n+1]:=maxlongint;k:=1;for i:=2 to n+1 doif a[i]<>a[i-1] thenbegin writeln(a[i-1],' ',k); k:=1;endelse k:=k+1;end.2.字符串的展开(expand.pas/c/cpp)【问题描述】在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。
NOIP2007试题+答案+解析(学生版)
第十三届全国青少年信息学奥林匹克联赛初赛试题(普及组Pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案。
)1.在以下各项中,()不是CPU的组成部分。
A.控制器B.运算器C.寄存器D.主板2.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。
A.二叉树B.多叉树C.哈希表D.二维表3.在下列各项中,只有()不是计算机存储容量的常用单位。
A.Byte B.KB C.UB D.TB4.ASCII码的含义是()。
A.二→十进制转换码 B.美国信息交换标准代码C.数字的二进制编码D.计算机可处理字符的唯一编码5.一个完整的计算机系统应包括()。
A.系统硬件和系统软件B.硬件系统和软件系统C.主机和外部设备D.主机、键盘、显示器和辅助存储器6.IT的含义是()。
A.通信技术B.信息技术C.网络技术D.信息学7.LAN的含义是()。
A.因特网B.局域网C.广域网D.城域网8.冗余数据是指可以由其它数据导出的数据。
例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。
冗余数据往往会造成数据的不一致。
例如,上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。
下面关于冗余数据的说法中,正确的是()。
A.应该在数据库中消除一切冗余数据B.用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据C.为了提高查询效率,在数据库中可以保留一些冗余数据,但更新时要做相容性检验D.做相容性检验会降低效率,可以不理睬数据库中的冗余数据9.在下列各软件,不属于NOIP竞赛(复赛)推荐使用的语言环境有()。
A.gcc B.g++ C.Turbo C D.Free Pascal10.以下断电后仍能保存数据的有()。
NOIP2007第十三届普及组初赛题目C++和答案
第十三届全国青少年信息学奥林匹克联赛初赛试题(NOIP 2007 普及组C++语言二小时完成)一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案.)。
1. 在以下各项中,()不是CPU的组成部分。
A. 控制器B. 运算器C. 寄存器D. 主板2.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。
A. 二叉树B. 多叉树C.哈希表D.二维表3.在下列各项中,只有()不是计算机存储容量的常用单位。
A. ByteB. KBC.UBD.TB4.ASCII码的含义是()。
A. 二─十进制转换码B. 美国信息交换标准代码C. 数字的二进制编码D. 计算机可处理字符的唯一编码5.一个完整的计算机系统应包括()。
A.系统硬件和系统软件B. 硬件系统和软件系统C. 主机和外部设备D. 主机、键盘、显示器和辅助存储器6. IT的含义是()。
A. 通信技术B. 信息技术C.网络技术D.信息学7.LAN的含义是()。
A. 因特网B. 局域网C.广域网D.城域网8. 冗余数据是指可以由其他数据导出的数据,例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。
冗余数据往往会造成数据的不一致,例如,上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。
下面关于冗余数据的说法中,正确的是()。
A. 应该在数据库中消除一切冗余数据B. 用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据C. 为了提高查询效率,在数据库中可以适当保留一些冗余数据,但更新时要做相容性检验D. 做相容性检验会降低效率,可以不理睬数据库中的冗余数据9.在下列各软件中,不属于NOIP竞赛(复赛)推荐使用的语言环境有()。
A. gccB. g++C. Turbo CD. free pascal10. 以下断电之后仍能保存数据的有()。
2007年NOIP普及组初赛试题及参考答案
二、问题解答
1、(子集划分)将 n 个数{1,2,…,n}划分成 r 个子集。每个数都恰好属于 一个子集,任何两个不同的子集没有共同的数,也没有空集。将不同划分方法 的总数记为 S(n,r)。例如,S(4,2)=7,这 7 种不同的划分方法依次 为{(1),(234)}, {(2),(134)}, {(3),(124)}, {(4),(123)}, {(12),(34)}, {(13),(24)}, {(14),(23)}。当 n=6,r=3 时,S(6,3)=_________ 。 (提示:先固定一个数,对于其余的 5 个数考虑 S(5,3)与 S(5,2),再分这两种 情况对原固定的数进行分析)。
一、选择题
11. 在下列关于计算机语言的说法中,正确的有( )。 A. 高级语言比汇编语言更高级,是因为它的程序的运行效率更高 B. 随着 Pascal、C 等高级语言的出现,机器语言和汇编语言已经退 出了历史舞台 C. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种 计算机上
D. C 是一种面向对象的高级计算机语言
│8
一、选择题
8. 冗余数据是指可以由其他数据导出的数据,例如,数据库中已存放了学生的数学、语文和 英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。冗余数据往往 会造成数据的不一致,例如,上面 4 个数据如果都是输入的,由于操作错误使总分不等于三 科成绩之和,就会产生矛盾。下面关于冗余数据的说法中,正确的是( )。 A. 应该在数据库中消除一切冗余数据 B. 用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据 C. 为了提高查询效率,在数据库中可以适当保留一些冗余数据,但更新时要做相容性检验 D. 做相容性检验会降低效率,可以不理睬数据库中的冗余数据
NOIP2007 初赛试题及答案提高组C
NOIP2007 初赛试题(提高组C)2008-08-03 15:09分类:默认分类字号:大中小信息学奥赛试题NOIP2007 初赛试题(提高组C)© 中国计算机学会20071第十三届全国青少年信息学奥林匹克联赛初赛试题(提高组C 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共10 题,每题1.5 分,共计15 分。
每题有且仅有一个正确答案)。
1. 在以下各项中,()不是CPU 的组成部分。
A. 控制器B. 运算器C. 寄存器D. 主板E. 算术逻辑单元(ALU)2.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。
A. 二叉树B. 多叉树C.哈希表D. B+树E.二维表3.在下列各项中,只有()不是计算机存储容量的常用单位。
A. ByteB. KBC.MBD.UBE.TB4.ASCII 码的含义是()。
A. 二—十进制转换码B. 美国信息交换标准代码C. 数字的二进制编码D. 计算机可处理字符的唯一编码E. 常用字符的二进制编码5.在C 语言中,表达式23|2^5 的值是()A. 23B. 1C.18D.32E.246.在C 语言中,判断a 等于0 或b 等于0 或c 等于0 的正确的条件表达式是()A. !((a!=0)||(b!=0)||(c!=0))B. !((a!=0)&&(b!=0)&&(c!=0))C. !(a==0&&b==0)||(c!=0)D. (a=0)&&(b=0)&&(c=0)E. !((a=0)||(b=0)||(c=0))7.地面上有标号为A、B、C 的3 根细柱,在A 柱上放有10 个直径相同中间有孔的圆盘,从上到下依次编号为1,2,3,……,将A 柱上的部分盘子经过B 柱移入C 柱,也可以在B 柱上暂存。
如果B 柱上的操作记录为:“进,进,出,进,进,出,出,进,进,出,进,出,出”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十三届全国青少年信息学奥林匹克联赛初赛试题(提高组Pascal语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共10题,每题 1.5分,共计15分。
每题有且仅有一个正确答案.)。
1.在以下各项中。
()不是CPU的组成部分。
A.控制器B.运算器C.寄存器D.主板E.算术逻辑单元(ALU)2.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。
A.二叉树B.多叉树C.哈希表D.B+树E.二维表3.在下列各项中,只有()不是计算机存储容量的常用单位。
A.ByteB.KBC.MBD.UBE.TB4.ASCII码的含义是()。
A.二—十进制转换码B.美国信息交换标准代码C.数字的二进制数码D.计算机可处理字符的唯一编码E.常用字符的二进制编码5.在Pascal语言中,表达式(23or2xor5)的值是()A.18B.1C.23D.32E.246.在Pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是()A.not((a<>0)or(b<>0)or(c<>0))B.not((a<>0)and(b<>0)and(c<>0))C.not((a=0)and(b=0))or(c=0)D.(a=0)and(b=0)and(c=0)E.not((a=0)or(b=0)or(c=0))7.地面上有标号为A、B、C的3根细柱,在A柱上放有10个直径相同中间有孔的圆盘,从上到下次依次编号为1,2,3,……,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。
如果B柱上的操作记录为:“进,进,出,进,进,出,出,进,进,出,进,出,出”。
那么,在C柱上,从下到上的盘子的编号为()。
A.243657B.241257C.243176D.243675E.2143758.与十进制数17.5625相对应的8进制数是()。
A.21.5625B.21.44C.21.73D.21.731E.前4个答案都不对9.欧拉图G是指可以构成一个闭回路的图,且图G的每一条边恰好在这个闭回路上出现一次(即一笔画成)。
在以下各个描述中,不一定是欧拉图的是:()。
A.图G中没有度为奇数的顶点B.包括欧拉环游的图(欧拉环游是指通过图中每边恰好一次的闭路径)C.包括欧拉闭迹的图(欧拉迹是指通过途中每边恰好一次的路径)D.存在一条回路,通过每个顶点恰好一次E.本身为闭迹的图10.一个无法靠自身的控制终止的循环称为“死循环”,例如在C语言程序中,语句“while(1)printf("*");”就是一个死循环,运行它将无休止地打印*号。
下面关于死循环的说法中,只有()是正确的。
A.不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检查B.有些编译系统可以检测出死循环C.死循环属于语法错误,既然编译系统能检查各种语法错误,当然也能检查出死循环D.死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也是可以检测的E.对于死循环,只能等到发生时做现场处理,没有什么更积极的手段二、不定项选择题(共10题,每题 1.5分,共计15分。
每题正确答案的个数大于或等于1。
多选或少选均不得分)。
11.设A=B=true,C=D=false,以下逻辑运算表达式值为真的有()。
A.(﹁A∧B)∨(C∧D∨A)B.﹁(((A∧B)∨C)∧D)C.A∧(B∨C∨D)∨DD.(A∧(D∨C))∧B12.命题“P→Q”可读做P蕴含Q,其中P、Q是两个独立的命题.只有当命题P成立而命题Q不成立时,命题"P→Q"的值为false,其它情况均为true.与命题"P→Q"等价的逻辑关系式是()。
A.﹁P∨QB.P∧QC.﹁(P∨Q)D.﹁(﹁Q∧P)13.(2070)16+(34)8的结果是()。
A.(8332)10B.(208C)16C.(100000000110)2D.(20214)814.已知7个节点的二叉树的先根遍历是1245637(数字为结点的编号,以下同),后根遍历是4652731,则该二叉树的可能的中根遍历是()由收集A.4265173B.4256137C.4231547D.425617315.冗余数据是指可以由以他数据导出的数据,例如,数据库中已存放了学生的数学、语文、和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看做冗余数据。
冗余数据往往会造成数据的不一致,例如上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。
下面关于冗余数据的说法中,正确的是()。
A.应该在数据库中消除一切冗余数据B.与用高级语言编写的数据处理系统相比,用关系数据库编写的系统更容易消除冗余数据C.为了提高查询效率,在数据库中可以适当保留一些冗余数据,但更新时要做相容性检验D.做相容性检验会降低效率,可以不理睬数据库中的冗余数据16.在下列各软件中,属于NOIP竞赛(复赛)推荐使用的语言环境有()。
A.gccB.g++C.Turbo CD.free pascal17.以下断电之后将仍能保存数据的有()。
A.硬盘B.ROMC.显存D.RAM18.在下列关于计算机语言的说法中,正确的有()。
A.高级语言比汇编语言更高级,是因为它的程序的运行效率更高B.随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了历史舞台C.高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上D.C是一种面向过程的高级计算机语言19.在下列关于算法复杂性的说法中,正确的有()。
A.算法的时间复杂度,是指它在某台计算机上具体实现时的运行时间B.算法的时间复杂度,是指对于该算法的一种或几种主要的运算,运算的次数与问题的规模之间的函数关系C.一个问题如果是NPC类的,就意味着在解决该问题时,不存在一个具有多项式时间复杂度的算法.但这一点还没有得到理论上证实,也没有被否定D.一个问题如果是NP类的,与C有相同的结论由收集20.近20年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具.在下列关于递归的说法中,正确的是()。
A.在1977年前后形成标准的计算机高级语言"FORTRAN77"禁止在程序使用递归,原因之一是该方法可能会占用更多的内存空间.B.和非递归算法相比,解决同一个问题,递归算法一般运行得更快一些C.对于较复杂的问题,用递归方式编程往往比非递归方式更容易一些D.对于已定义好的标准数学函数sin(x),应用程序中的语句“y=sin(sin(x));”就是一种递归调用三.问题求解(共2题,每题5分,共计10分)1.给定n个有标号的球,标号依次为1,2,…,n。
将这n个球放入r个相同的盒子里,不允许有空盒,其不同放置方法的总数记为S(n,r)。
例如,S(4,2)=7,这7种不同的放置方法依次为{(1),(234)},{(2),(134)},{(3),(124)},{(4),(123)},{(12),(34)},{(13),(24)}, {(14),(23)}。
当n=7,r=4时,S(7,4)=。
2.N个人在操场里围成一圈,将这N个人按顺时针方向从1到N编号,然后从第一个人起,每隔一个人让下一个人离开操场,显然,第一轮过后,具有偶数编号的人都离开了操场。
依次做下去,直到操场只剩下一个人,记这个人的编号为J(N),例如,J(5)=3,J(10)=5,等等。
则J(400)=。
(提示:对N=2m+r进行分析,其中0≤r<2m)。
四.阅读程序写结果(共4题,每题8分,共计32分)1.program s401;var p,q:array[0..5]of integer;i,x,y:integer;beginy:=20;for i:=0to4do read(p);readln;q[0]:=(p[0]+p[1])+(p[2]+p[3]+p[4])div7;q[1]:=p[0]+p[1]div((p[2]+p[3])div p[4]);q[2]:=p[0]*p[1]div p[2];q[3]:=q[0]*q[1];q[4]:=q[1]+q[2]+q[3];x:=(q[0]+q[4]+2)-p[(q[3]+3)mod4];If(x>10)Theny:=y+(q[1]*100-q[3])div(p[p[4]mod3]*5)Elsey:=y+20+(q[2]*100-q[3])div(p[p[4]mod3]*5);writeln(x,',',y);end.输入:66553输出:2.program s402;var a,b:integer;x,y:^integer;procedure fun(a,b:integer);var k:integer;begink:=a;a:=b;b:=k;end;begina:=3;b:=6;x:=@a;y:=@b;fun(x^,y^);write('No.1:',a,',',b,'');fun(a,b);writeln('No.2:',a,',',b);end.输出:3.program S403;var a1:array[1..50]of integer;var i,j,t,t2,n,n2:integer;beginn:=50;for i:=1to n do a1:=0;n2:=round(sqrt(n));for i:=2to n2doIf(a1=0)Thenbegint2:=n div i;for j:=2to t2do a1[i*j]:=1;end;t:=0;for i:=2to n doIf(a1=0)Thenbeginwrite(i:4);inc(t);if(t mod10=0)then writeln;end;writeln;end.输出:4.program S404;const n=12;ch2:array[0..12]of char=('q','A','S','O','R','T','E','X','A','M','P','L','E'); var k:integer;ch:array[0..12]of char;procedure shift(k,n:integer);var v:char;j:integer;beginv:=ch[k];j:=k+k;while(j<=n)dobeginif(j<n)and(ord(ch[j])<ord(ch[j+1]))then inc(j);if(ord(v)<ord(ch[j]))thenbegin ch[j div2]:=ch[j];j:=j*2;endelseexit;ch[j div2]:=v;end;end;procedure hpsrt;var k:integer;tmp:char;beginfor k:=n div2downto1do shift(k,n);write('No.1:');for k:=1to n do write(ch[k]);writeln;for k:=n downto1dobegintmp:=ch[1];ch[1]:=ch[k];ch[k]:=tmp;shift(1,k-1);end;end;beginfor k:=0to n do ch[k]:=ch2[k];hpsrt;write('No.2:');for k:=1to n do write(ch[k]);writeln;end.输出:五.完善程序(前5空,每空2分,后6空,每空3分,共28分)1.(格雷码Gray Code)由收集Gray Code是一种二进制编码,编码顺序与相应的十进制数的大小不一致。