NOIP2000普及组初赛试题
NOIP2000普及组初赛答案
1
第六届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
普及组参考答案
一、选择一个正确答案代码(A/B/C/D ),填入每题的括号内 (每题1.5分,多选无分,共30分) 题号 1 2 3 4 5 6 7 8 9 10 选择 C B B B B D C D D
B
题号
11
12
13
14
15
16
17
18
19 20
选择 D
C B B A C
D D B A 二、问题解答(第1题的第1问2分,第2问5分,第2题7分,两题共14分)
1.答:有 5 种不同形态的二叉树可以得到这一遍历结果;可画出的这些二叉树为: ① a ② b ③ a ④ c ⑤ c \ / \ \ /
/
b a
c c a
b
\ / \ /
c b b a
2.对给出的任意一个n (n>0),用F (n )表示其铺法的总数的递推公式为:
F (1)=1 F (2)=2 F (n )=F (n-2)+F (n-1)(n ≥3) 三、阅读程序,并写出程序的正确运行结果(10+16分,共26分)
(1) 程序的运行结果是: BBAC (2) 程序的运行结果是: ① 0.125
② 0.{285714}
四、根据题意,将程序补充完整(每个点3分,共30分)
PASCAL 语言 BASIC 语言
================= ================= 题一
① 70
② 110
③ 140
④ 180
⑤ 220 题二
① 190
② 240
③ 280
④ 300
⑤ 350。
noip普及组初赛模拟试卷1附答案(供参考)
1.计算机中的数有浮点数与定点数两种,其中浮点数表示的数,通常由(C)这两部分组成:A.指数与基数B. 尾数与小数C. 阶码与尾数D. 整数与小数2.在衡量存储器容量时,计量单位由小到大的顺序是(A )A. KB GB TBB. TB KB GBC. TB GB KBD. KB TB GB3. 下列( D)不属于计算机病毒的预防措施A. 拥有计算机病毒检测扫描器B. 拥有实时监控程序C. 对未知计算机病毒进行检测D. 对已知的计算机病毒进行杀毒4. 文件夹组织是一个有层次的树状结构,其中最顶层的是(C )A. 我的电脑B. 网上邻居C. 桌面D. 资源管理器5. (D )是用来在计算机之间进行文件传输。
利用该服务不仅可以从远程计算机上获取文件,而且还可以将文件从本地机器传送到远程计算机上。
A. DNSB. NFSC. WWWD. FTP6.下列4个不同数制表示的数中,最大的一个数是(C )A. 十进制数220.1B. 二进制数11011011.1C. 八进制数334.1D. 十六进制数DC.17. 若采用32*32点阵的汉字字模,存放1600个汉字信息需要的存储容量是( B)KB。
A.25B.200C. 800D.16008. 十进制数-103的补码是(A )A. 10011001B. 11100111C. 10110011D. 000110019. 下列软件依次对应于图像浏览、屏幕撷取、文件压缩、杀毒软件的排列顺序是(D )。
①HyperCam ②WinRAR ③NortonAntiVirus ④ACDSeeA. ①②④③B. ②①③④C. ③④②①D. ④①②③10.在微型计算机中,常用( A)码实现十进制数与二进制数之间的自动转换。
A. BCD码B. ASCII码C. 海明码D. 机内码11. 插入排序是一种简单实用的工具,在对数组排序时,我们可能用二分查找,对要插入的元素快速找到在已经排好元素序列中的位置。
NOIP普及组初赛历年试题及答案选择题篇
NOIP普及组初赛历年试题及答案选择题篇单项选择题:每次共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项。
注:答案在文末一、计算机基础(每年8-10题,占选择题的一半,找份材料翻几遍就可拿分了)NOIP2011-3. 一片容量为8G的SD卡能储存大约()张大小为2MB的数码照片。
A.1600B.2000C.4000D.16000NOIP2011-4. 摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoor)提出来的。
根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电路的集成度大约每()个月翻一番。
A.1B.6C.18D.36NOIP2011-6.寄存器是()的重要组成部分。
A.硬盘B.高速缓存C.内存D.中央处理器(CPU)NOIP2011-10. 有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是()。
A.正确的,将文件放入回收站以为着彻底删除、无法恢复B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除NOIP2011-14. 生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。
目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。
以下不属于生物特征识别技术及其应用的是()。
NOIP2011-16. 关于汇编语言,下列说法错误的是()。
A.是一种与具体硬件相关的程序设计语言B.在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试C.可以直接访问寄存器、内存单元、以及I/O端口D.随着高级语言的诞生,如今已完全被淘汰,不再使用NOIP2011-18. 1956年()授予肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。
NOIP普及组初赛历年试题及答案求解题篇
NOIP普及组初赛历年试题及答案求解题篇问题求解:每次共2题,每空5分,共计10分。
每题全部答对得 5 分,没有部分分。
注:答案在文末在NOIP初赛问题求解中,经常会遇到排列组合问题。
这一类问题不仅内容抽象,解法灵活,而且解题过程极易出现“重复”和“遗漏”的错误,这些错误甚至不容易检查出来,所以解题时要注意不断积累经验,总结解题规律。
解答排列组合问题,首先必须认真审题,明确是属于排列问题还是组合问题,或者属于排列与组合的混合问题,其次要抓住问题的本质特征,灵活运用基本原理和公式进行分析解答。
同时还要注意讲究一些策略和技巧,比如采用分类、分步、捆绑等方法,也可以借助表格、方程等工具,使一些看似复杂的问题迎刃而解。
NOIP2011-1. 每份考卷都有一个8位二进制序列号。
当且仅当一个序列号含有偶数个1时,它才是有效的。
例如,0000000、01010011都是有效的序列号,而11111110不是。
那么,有效的序列号共有______个。
NOIP2011-2. 定义字符串的基本操作为: 删除一个字符、插入一个字符和将一个字符修改成另外一个字符这三种操作。
将字符串A变成字符串B的最少操作步数,称为字符串A到字符串B的编辑距离。
字符串“ ABCDEFG ”到字符串“BADECG ”的编辑距离为_______。
NOIP2012-1. 如果平面上任取n 个整点(横纵坐标都是整数) ,其中一定存在两个点,它们连线的中点也是整点,那么n至少是_____。
NOIP2012-2. 在NOI期间,主办单位为了欢迎来自全国各地的选手,举行了盛大的晚宴。
在第十八桌,有5名大陆选手和5名港澳选手共同进膳。
为了增进交流,他们决定相隔就坐,即每个大陆选手左右相邻的都是港澳选手、每个港澳选手左右相邻的都是大陆选手。
那么,这一桌共有_____种不同的就坐方案。
注意:如果在两个方案中,每个选手左边相邻的选手均相同,则视为同一个方案。
NOIP2013-1. 7 个同学围坐一圈,要选2 个不相邻的作为代表,有_____种不同的选法。
NOIP普及组初赛历年试题及标准答案选择题篇
NOIP普及组初赛历年试题及答案选择题篇————————————————————————————————作者:————————————————————————————————日期:NOIP普及组初赛历年试题及答案选择题篇单项选择题:每次共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项。
注:答案在文末一、计算机基础(每年8-10题,占选择题的一半,找份材料翻几遍就可拿分了)NOIP2011-3. 一片容量为8G的SD卡能储存大约( )张大小为2MB的数码照片。
A.1600B.2000C.4000D.16000NOIP2011-4. 摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoor)提出来的。
根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电路的集成度大约每( )个月翻一番。
A.1B.6C.18D.36NOIP2011-6.寄存器是( )的重要组成部分。
A.硬盘B.高速缓存C.内存D.中央处理器(CPU)NOIP2011-10. 有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是( )。
A .正确的,将文件放入回收站以为着彻底删除、无法恢复B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除NOIP2011-14. 生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。
目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。
以下不属于生物特征识别技术及其应用的是( )。
NOIP2011-16. 关于汇编语言,下列说法错误的是( )。
A.是一种与具体硬件相关的程序设计语言B.在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试C.可以直接访问寄存器、内存单元、以及I/O端口D.随着高级语言的诞生,如今已完全被淘汰,不再使用NOIP2011-18. 1956年( )授予肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。
NOIP普及组初赛历年试题及答案完善题篇
} bool over(hugeint a,hugeint b) // 若大整数 a>b 则返回 true ,否则返回 false { int i; if(a.len<b.len) return false; if( a.len>b.len ) return true; for(i=a.len;i>=1;i--){ if(a.num[i]<b.num[i]) return false; if(a.num[i]>b.num[i]) return true; } return false; } int main() { string s; int i; hugeint target,left,middle,right;
cin>>s; memset(target.num,0,sizeof(target.num)); target.len=s.length(); for(i=1;i<=target.len;i++) target.num[i]=s[target.len-i]- '0'; memset(left.num,0,sizeof(left.num)); left.len=1; left.num[1]=1; right=target; do{ middle=average(left,right); if(over(times(middle,middle),target)) right=middle; else left=middle; }while(!over(plustwo(left),right) ); for(i=left.len;i>=1;i--) cout<<left.num[i]; return 0; }
NOIP2013-1. 序列重排 全局数组变量 a 定义如下: const int SIZE = 100; int a[SIZE], n; 它记录着一个长度为 n 的序列 a[1], a[2], ..., a[n]。 现在需要一个函数, 以整数 p (1 ≤ p≤ n)为参数, 实现如下功能:将序列 a 的前 p 个数与后 n – p 个数对调, 且不改变这 p 个数(或 n – p 个数)之间的相对位置。 例如,长度为 5 的序列 1, 2, 3, 4, 5,当 p = 2 时重排结果为 3, 4, 5, 1, 2。 有一种朴素的算法可以实现这一需求, 其时间复杂度为 O(n)、 空间复杂度为 O(n): void swap1(int p) { int i, j, b[SIZE]; for (i = 1; i <= p; i++) b[n–p+i] = a[i]; for (i = p + 1; i <= n; i++) b[i-p]= a[i]; for(i=1;i<= n;i++) a[i] = b[i]; } 我们也可以用时间换空间, 使用时间复杂度为 O(n2)、 空间复杂度为 O(1)的算法: void swap2(int p) { int i, j, temp; for (i = p + 1; i <= n; i++) { temp = a[i]; for(j=i;j>= i–p+1;j--) a[j] = a[j - 1]; a[i – p]= temp; } }
2000-2011NOIP普及组试题
【00NOIP普及组】计算器的改良(noip001.pas)【题目描述】NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。
实验室将这个任务交给了一个刚进入的新手ZL 先生。
为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:4+3x=86a-5+1=2-2a-5+12Y=0ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及十、一、=这三个数学符号(当然,符号“一”既可作减号,也可作负号)。
方程中并没有括号,也没有除号,方程中的字母表示未知数。
【输入】输入一个一元一次方程,可认为输入的一元一次方程均为合法的,且有唯一实数解。
【输出】将解方程的结果(精确至小数点后三位)输出。
【输入样例】6a-5+1=2-2a【输出样例】a=0.750【00NOIP普及组】税收与补贴问题(noip002.pas)【题目描述】每样商品的价格越低,其销量就会相应增大。
现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给定的最高价位后,销量以某固定数值递减。
(我们假设价格及销售量都是整数)对于某些特殊商品,不可能完全由市场去调节其价格。
这时候就需要政府以税收或补贴的方式来控制。
(所谓税收或补贴就是对于每个产品收取或给予生产厂家固定金额的货币)问题求解:你是某家咨询公司的项目经理,现在你已经知道政府对某种商品的预期价格,以及在各种价位上的销售情况。
要求你确定政府对此商品是应收税还是补贴的最少金额(也为整数),才能使商家在这样一种政府预期的价格上,获取相对其他价位上的最大总利润。
总利润=单位商品利润*销量单位商品利润=单位商品价格-单位商品成本(-税金 or +补贴)【输入】输入的第一行为政府对某种商品的预期价,第二行有两个整数,第一个整数为商品成本,第二个整数为以成本价销售时的销售量,以下若干行每行都有两个整数,第一个为某价位时的单价,第二个为此时的销量,以一行-1,-1表示所有已知价位及对应的销量输入完毕,输入的最后一行为一个单独的整数表示在已知的最高单价外每升高一块钱将减少的销量。
历年noip初赛普及组试题
历年noip初赛普及组试题历年noip普及组初赛试题汇编芜湖县实验学校NOIP初赛复习资料第十五届全国青少年信息学奥林匹克联赛初赛试题(2009)(普及组 C++语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案。
)1、关于图灵机下面的说法哪个是正确的:A)图灵机是世界上最早的电子计算机。
B)由于大量使用磁带操作,图灵机运行速度很慢。
C)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。
D)图灵机只是一个理论上的计算模型。
2、关于计算机内存下面的说法哪个是正确的:A)随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。
B)1MB内存通常是指1024*1024字节大小的内存。
C)计算机内存严格说来包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。
D)一般内存中的数据即使在断电的情况下也能保留2个小时以上。
3、关于BIOS下面说法哪个是正确的:A)BIOS是计算机基本输入输出系统软件的简称。
B)BIOS里包含了键盘、鼠标、声卡、显卡、打印机等常用输入输出设备的驱动程序。
C)BIOS一般由操作系统厂商来开发完成。
D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。
4、关于CPU下面哪个说法是正确的:A)CPU全称为中央处理器(或中央处理单元)。
B)CPU可以直接运行汇编语言。
C)同样主频下,32位的CPU比16位的CPU运行速度快一倍。
D)CPU最早是由Intel公司发明的。
5、关于ASCII,下面哪个说法是正确的:A)ASCII码就是键盘上所有键的唯一编码。
B)一个ASCII码使用一个字节的内存空间就能够存放。
C)最新扩展的ASCII编码方案包含了汉字和其他欧洲语言的编码。
D)ASCII码是英国人主持制定并推广使用的。
历年NOIP真题汇编(2000~2017)
2006 年-B
所属知识点:_________________________源自本题心得与经验总结: 29
淮南二中信息学团队资料-历年 NOIP 真题汇编
2006 年-C
所属知识点:_________________________
30
淮南二中信息学团队资料-历年 NOIP 真题汇编
本题心得与经验总结: 31
淮南二中信息学团队资料-历年 NOIP 真题汇编
淮南二中信息学团队资料
历年 NOIP 真题汇编 I(2000-2005)
编辑、校对:刘龙
【2000 年】[4] P1017 进制转换 P1018 乘积最大 P1019 单词接龙 P1023 税收与补贴问题 【2001 年】[4] P1024 一元三次方程求解 P1025 数的划分 P1026 统计单词个数 P1027 Car 的旅行路线 【2002 年】[4] P1031 均分纸牌 P1032 字串变换 P1033 自由落体 P1034 矩形覆盖 【2003 年】[4] P1038 神经网络 P1039 侦探推理 P1040 加分二叉树 P1041 传染病控制 【2004 年】[4] P1089 津津的储蓄计划 P1090 合并果子 P1091 合唱队形 P1092 虫食算 【2005 年】[4] P1051 谁拿了最多奖学金 P1052 过河 P1053 篝火晚会 P1054 等价表达式 【2006 年】[4] P1063 能量项链 P1064 金明的预算方案 P1065 作业调度方案 P1066 2^k 进制数
2000 年-D
所属知识点:_________________________
本题心得与经验总结: 5
淮南二中信息学团队资料-历年 NOIP 真题汇编
noip初赛试题普及组及答案
noip初赛试题普及组及答案一、选择题(每题5分,共20分)1. 在计算机中,用来表示存储容量的基本单位是()。
A. 字节B. 字C. 位D. 字长答案:A2. 下列关于算法复杂度的描述,正确的是()。
A. 算法复杂度与程序代码的长短有关B. 算法复杂度与程序的运行时间有关C. 算法复杂度与程序运行的输入数据有关D. 算法复杂度与程序运行的机器性能有关答案:C3. 在编程中,若要实现一个循环,直到满足某个条件才停止,应使用()。
A. while循环B. for循环C. do-while循环D. switch语句答案:A4. 在C++中,下列哪个关键字用于定义一个类()。
A. structB. classC. interface答案:B二、填空题(每题5分,共20分)1. 在计算机科学中,数据结构通常分为两大类:线性结构和________。
答案:非线性结构2. 一个完整的程序设计语言包括语法规则和________规则。
答案:语义3. 在计算机中,用二进制表示的数值中,最小的非零数是________。
答案:14. 在C++中,用于定义一个私有成员的关键字是________。
答案:private三、编程题(每题30分,共60分)1. 编写一个程序,计算并输出100以内所有偶数的和。
```c++#include <iostream>using namespace std;int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}cout << "Sum of all even numbers within 100 is: " << sumreturn 0;}```2. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。
NOIP普及组初赛历年试题及答案阅读题篇
NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇阅读程序写结果(共4 题,每题8 分,共计32 分)阅读程序题是得分的关键,因为不是让你上机去运行程序,所以要一步步地读程序,记录相关变量值的变化情况。
因为程序的运行结果只有输出语句才有输出,所以只写出输出语句的结果。
有时要找出规律才能写出结果,特别是循环次数多的情况,另外要注意边界值,不能多算一步也不能少算一步。
解决这类问题的关键在于能够分析程序的结构以及程序段的功能。
常见的有列表法、画流程图法等。
完成这类题目的方法和步骤如下:1、从头到尾通读程序,大致把握程序的算法、找出这个题目的即这个程序想干什么。
抓住了它,不仅得出答案变得较容易,而且对自己的结果也会比较有信心。
2、通过给程序分段、理清程序的结构和层次,达到读懂程序的目的。
3、阅读程序中特别注意跟踪主要变量的值的变化,可以用列表的方法,了解变量变化和程序的运行结果,注意发现规律。
所谓列表法,就是将各变量名作为表头,在程序的执行过程中,将各变量值的变化记录在相应变量的下方。
4、按照程序中输出格式的要求,写出运行结果,并带着结果回到程序进行检查。
在阅读程序时,要特别注意过程、函数所完成的子任务以及和主程序之间的参数传递关系。
在阅读程序中,比较好的方法是首先阅读主程序,看其需要调用的过程或函数是什么,最后要求输出变量是什么;其次在阅读程序中,将较长的程序分成几个程序段(特别注意循环结构、判断结构),阅读理解各程序段的功能以及各程序之间的关联。
NOIP2011-1.#includeusing namespace std;int main(){int i,n,m,ans;cin>>n>>m;i=n;ans=0;while(i<=m){//从i=10~20,共循环计数11次ans+=i;//每次循环,ans累加一次i 值i++;}cout<<ans<<endl;< p="">//此时ans值应为(10+20)*11/2,即165 return 0; }输入: 10 20输出: 165NOIP2011-2.#include#includeusing namespace std;int main(){string map= "2223334445556667778889999"; //数组中元素位置是从0开始计数的string tel;int i;cin>>tel;for(i=0;i<tel.length();i++)< p="">if((tel[i]>='0') && (tel[i]<='9') )//如果输入的tel是0~9,直接输出tel值cout<<tel[i];< p="">else if( (tel[i]>='A') && (tel[i]<='Z'))cout<<map[tel[i]-'a'];< p="">//如果输入的tel是A~Z,则输出一个map数组中对应的元素//输出元素在map数组中位置为“输入字母与A的ASCII码的差值”//如果输入的是其他字符,比如“-”,则不符合循环条件,无输出cout<<endl;< p="">return 0;}输入: CCF-NOIP-2011输出: 22366472011NOIP2011-3.#include#includeusing namespace std;const int SIZE= 100;int main(){int n,i,sum,x,a[SIZE];cin>>n;memset(a,0,sizeof(a));for(i=1;i<=n;i++){cin>>x;a[x]++;}//循环结束时数组中的值为:a[1]=1,a[2]=2,a[3]=3,a[4]=2,a[5]=1,a[6]=2 i=0;sum=0;while(sum<(n/2+1)){//当sum值大于等于n/2+1,即sum>=6的时候,循环结束i++;sum+=a[i];}cout<<i<<endl;< p="">//输出循环结束时i 的值(不是sum的值)return 0;}输入:114 5 6 6 4 3 32 3 2 1输出: 3NOIP2011-4.#includeusing namespace std;int solve(int n,int m){int i,sum;if(m==1) return 1;//递归函数solve(i,m)中m=1时返回函数值为1sum=0;for(i=1;i<n;i++)< p="">//递归函数solve(i,m)中i=1时不循环,sum=0sum+= solve(i,m-1);return sum;//可递归求得sum=solve(1,3)+(2,3)+(3,3)+(4,3)+(5,3)+(6,3)int main(){int n,m;cin>>n>>m;cout<<solve(n,m)<<="" p="" 输出函数值,即sum值return="">}输入: 7 4输出: 20NOIP2012-1.#include using namespace std; int a, b, c, d, e, ans; int main() {cin>>a>>b>>c;d = a+b;e = b+c;ans = d+e;//ans=a+b+b+ccout<<ans<<endl;< p="">return 0;}输入: 1 2 5输出: 10NOIP2012-2.#includeusing namespace std;int n, i, ans;int main()cin>>n;ans = 0;for (i = 1; i <= n; i++)if (n % i == 0)ans++;//统计1~18中18的因数个数cout<<ans<<endl;< p=""> return 0;}输入: 18输出: 6NOIP2012-3.#includeusing namespace std;int n, i, j,a[100][100];int solve(int x,int y){int u, v;if(x == n)return a[x][y];//递归边界:当x=5时,solve(5,y)=a[5][y]u= solve(x + 1, y);v= solve(x + 1, y + 1);if(u > v)return a[x][y] + u;elsereturn a[x][y] + v;//用递归最终求得solve(1,1)=a[1][1]+solve(2,2)=2+12=14 } int main(){cin>>n;for(i = 1; i <= n; i++) for (j = 1; j <= i; j++) cin>>a[i][j];cout<<solve(1,1)<<="" p="" return="">}输入:52-1 42 -1 -2-1 6 4 03 2 -1 5 8输出: 14NOIP2012-4.#include#include using namespace std; int n, ans, i, j;string s;char get(int i){if(i < n)return s[i];elsereturn s[i-n];//i<8时,get(i)返回s[i];i>=8时,get(i)返回s[i-8],从第一个开始返回}int main(){cin>>s;n= s.size();ans= 0;for(i = 1; i <= n-1; i++){for (j = 0; j <= n-1; j++)if (get(i+j) < get(ans+j)){ans = i;break;}else if (get(i+j) > get(ans+j))break;}//此循环执行完毕,ans=7for(j = 0; j <= n-1; j++)cout<<get(ans+j);< p="">//1,ans+j<8,输出s[7+0];2,ans+j=8,输出s[8-8];3,ans+j=9,输出s[9-8]……cout<<endl;< p="">return 0;}输入: CBBADADA输出: ACBBADADNOIP2013-1.#includeusing namespace std;int main(){inta, b;cin>>a>>b;cout<<a<<"+"<<b<<"="<<a+b<<endl;< p="">return 0;}//输出:3+5=8输入: 3 5输出: 3+5=8NOIP2013-2.#includeusing namespace std;int main(){int a, b, u, i, num;cin>>a>>b>>u;num = 0;for (i = a; i <= b; i++)if ((i % u) == 0)num++;//1-100之间有多少数是15的倍数cout<<num<<endl;< p=""> return 0;}输入: 1 100 15输出: 6NOIP2013-3.#includeusing namespace std;int main(){const int SIZE = 100;int n, f, i, left, right, middle, a[SIZE]; cin>>n>>f;for (i = 1; i <= n; i++)cin>>a[i];left = 1;right = n;do {middle= (left + right) / 2;if(f <= a[middle])right = middle;elseleft = middle + 1;}while (left < right);// middle=6,17>a[6],则left=7// middle=9,17// middle=7,17=a[7],则right=7 // left=right,直接输出left cout<<left<<endl;< p="">return 0;}输入:12 172 4 6 9 11 15 1718 19 20 21 25 输出: 7NOIP2013-4.#includeusing namespace std;int main(){constint SIZE = 100;intheight[SIZE], num[SIZE], n, ans; cin>>n;for(int i = 0; i < n; i++) {cin>>height[i];num[i] = 1;for (int j = 0; j < i; j++) {if ((height[j] < height[i]) && (num[j] >= num[i]))num[i] = num[j]+1;}}//两两相比,得出num[0], num[1], num[2], num[3], num[4], num[5]ans= 0;for(int i = 0; i < n; i++) {if (num[i] > ans) ans = num[i];}//得出num中最大值,即在数组height中第几位数值最大cout<<ans<<endl;< p="">return 0;}输入:62 53 11 12 4输出: 4不懂算法?跟踪变量!列表模拟!遇到递归?画树形图!注意边界!找到规律了?还会流程图?恭喜你,32分到手了!NOIP2014-1.#includeusing namespace std;int main(){int a, b, c, d, ans;cin>> a >> b >> c;d = a - b; //将a-b=-1赋值给d a = d + c; //将d+c=3赋值给a ans = a * b; //ans=a*b=3*3=9 cout<<"Ans = "<< ans << endl;return 0;}输入:2 3 4输出: Ans=9NOIP2014-2.#includeusing namespace std;int fun(int n){if (n == 1)return 1; //边界fun(1)=1if (n == 2)return 2; //边界fun(2)=2 return fun(n - 2) - fun(n - 1); } //fun(n)=fun(n-2)-fun(n-1) int main(){int n;cin >> n;cout << fun(n) << endl;//fun(7)=fun(5)-fun(6)=-11 return 0;}输入: 7输出: -11NOIP2014-3.#include#includeusing namespace std;int main(){int i, len;getline(cin, st);len = st.size();for(i = 0; i < len; i++){if (st[i] >= 'a' && st[i] <= 'z')st[i] = st[i] - 'a' + 'A';} //如果字符串st中字母小写,则替换成大写cout<< st << endl; return 0;}输入: Hello, my name is Lostmonkey.输出: HELLO, MY NAME IS LOSTMONKEY.NOIP2014-4.#includeusing namespace std;const int SIZE =100;int main(){int p[SIZE];int n, tot, i, cn;cin>> n;for(i = 1; i <= n; i++)p[i] = 1; //p[1]-p[30]中所有元素赋值1 for(i = 2; i <= n; i++){ if (p[i] == 1)tot++; //计数cn = i * 2; //找出2-30中所有2i while (cn <= n) {p[cn] = 0;cn += i; //找出2-30中所有3i}}//对2-30中素数计数,并输出个数cout<< tot << endl; return 0;}输入: 30输出: 10NOIP2015-1.#includeusing namespace std;</ans<<endl;<></left<<endl;<></num<<endl;<></a<<"+"<<b<<"="<<a+b<<endl;<> </endl;<></get(ans+j);<></solve(1,1)<</ans<<endl;<></ans<<endl;<></solve(n,m)<</n;i++)<></i<<endl;<></endl;<></map[tel[i]-'a'];<></tel[i];<></tel.length();i++)<></ans<<endl;<>。
NOIP2000普及组初赛试题答案
第六届全国青少年信息学(计算机)奥林匹克分区联赛试题(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题分,多选无分,共30分)1.下列无符号数中,最小的数是().A.()2 B.(75)10 C.(37)8 D.(2A)162.在外部设备中,绘图仪属于().A.输入设备 B.输出设备 C.辅(外)存储器 D.主(内)存储器3.GB2312-80 规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字是以()为序排列的.A.以笔划多少 B.以部首 C.以ASCII码 D.以机内码4.算法是指().A.为解决问题而编制的计算机程序 B.为解决问题而采取的方法与步骤C.为解决问题而需要采用的计算机语言 D.为解决问题而采用的计算方法5.RAM 中的信息是().A.生产厂家预先写入的 B.计算机工作时随机写入的C.防止计算机病毒侵入所使用的 D.专门用于计算机开机时自检用的6.计算机主机是由CPU 与()构成的.A.控制器 B.运算器 C.输入、输出设备 D.内存储器7.计算机病毒的特点是().A.传播性、潜伏性、易读性与隐蔽性 B.破坏性、传播性、潜伏性与安全性C.传播性、潜伏性、破坏性与隐蔽性 D.传播性、潜伏性、破坏性与易读性8.设循环队列中数组的下标范围是1–n,其头尾指针分别为f和r,则其元素个数为(). A.r- f B.r- f +1C.(r- f ) MOD n+1 D.(r- f + n) MOD n9.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是().A 堆排序B 希尔排序C 冒泡排序D 快速排序10.Internet 的规范译名应为().A.英特尔网 B.因特网 C.万维网 D.以太网11.WINDOWS 9X 是一种()操作系统.A.单任务字符方式 B.单任务图形方式C.多任务字符方式 D.多任务图形方式12.某种计算机的内存容量是640K, 这里的640K 容量是指( ) 个字节.A.640 B. 640*1000 C. 640 * 1024 D.640*1024*102413.在Windows 9X中,菜单项后带有符号“…”,表示该菜单项( ) .A.可以进行开关选择 B.执行时有对话框C.有若干子命令 D.不能执行14.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情況下,需检视( )个单元.A.1000 B. 10 C. 100 D. 50015.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。
NOIP普及组试题精选
NOIP普及组(初赛)试题精选一、计算机系统1.在以下各项中,()不是CPU的组成部分。
(NOIP2007)A.控制器 B.运算器 C.寄存器 D.主板【答案】D。
CPU由控制器、运算器和寄存器组成。
2.在下列各项中,只有()不是计算机存储容量的常用单位。
(NOIP2007)A.Byte B.KB C.UB D.TB【答案】C。
存储容量:Byte=8 bit(位)、1KB=1024B、1MB=1024KB、1GB=1024MB、1TB=1024G B。
3.与十进制数1770对应的八进制数是()。
(NOIP2007)A.3350 B.3351 C.3352 D.3540【答案】C。
考查进制转换,掌握十进制、二进制、八进制和十六进制互换,以及多个不同进制数的运算(转换为同一进制数进行计算)。
4.与十进制数28.5625相等的四进制数是()。
(NOIP2008)A.123.21 B.131.22 C.130.22 D.130.21【答案】D。
熟练掌握进制转换的知识。
5.计算机在工作过程中,若突然停电,()中的信息不会丢失。
(NOIP2008)A.ROM 和 RAM B.CPU C.ROM D.RAM【答案】C。
ROM(只读存储器)断电后信息不丢失,RAM(随机存储器,内存)断电后信息全部丢失。
6.在32*32点阵的“字库”中,汉字“北”与“京”的字模占用字节数之和是()。
(NOIP2008)A.512 B.256 C.384 D.128【答案】B。
32*32点阵的字库,每个字占字节数为32*32/8=128字节(1个字节等于8个二进制位,1Byte=8bits,而1位对应点阵中的1个点)。
所以2个汉字共要256个字节。
7.在下面各世界顶级的奖项中,为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是()。
(NOIP2006)A. 沃尔夫奖B. 诺贝尔奖C. 菲尔兹奖 D. 图灵奖【答案】D。
沃尔夫奖主要是奖励对推动人类科学与艺术文明做出杰出贡献的人士;诺贝尔奖有生理或医学奖、文学奖、物理学奖、化学奖、经济学奖和和平奖;菲尔兹奖-数学界的诺贝尔奖;图灵奖-计算机界的诺贝尔奖,2000年姚期智获得“图灵奖”,也是迄今为止获得此项殊荣的唯一华裔计算机科学家。
NOIP大纲整理:历年2000-2021NOIP普及组题目分析
2008
排座椅
贪心
★★
2008
ISBN 号码
字符串处理
★
2008
立体图
字符输出
★★★
2009
道路游戏
动态规划
★★★★★
2009
分数线划定
快速排序(双关键字)
★
2009
细胞分裂
数论
★★★★
2009
多项式输出
字符串处理
★
2010
数字统计
枚举
★
2010
接水问题
模拟
★★
2010
导弹拦截
排序+枚举,贪心
★★★★
2010
三国游戏
贪心
★★★
2011
瑞士轮
模拟、快拍、归并排序
★★★
2011
数字反转
模拟、字符串
★
2011
统计单词数
模拟、字符串函数
★
2011
表达式的值
栈、表达式计算、递推
★★★★★
2012
摆花
动态规划
★★★★
2012
质因数分解
枚举
★
2012
寻宝
模拟,模运算
★★★
2012
文化之旅
搜索、最短路(图论)、动规
数学(卡特兰数)
★★
2003
乒乓球
字符串处理
★☆
2004
FBI 树
二叉树的遍历
★★
2004
不高兴的津津
枚举
☆
2004
火星人
数学(排列)、stl
★★★
2004
花生采摘
贪心
★
NOIP精选初赛普及组题目及答案
第十四届全国青少年信息学奥林匹克联赛初赛试题2008(普及组 C++语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案.)。
1.微型计算机中,控制器的基本功能是()。
A. 控制机器各个部件协调工作B. 实现算术运算和逻辑运算C. 获取外部信息D. 存放程序和数据2. 设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的是()。
A. (A∧B)∨(C∧D∨⌝A)B. ((⌝A∧B)∨C)∧⌝DC. (B∨C∨D)∧D∧AD. A∧(D∨⌝C)∧B3. 在下列关于图灵奖的说法中,不正确的是()。
A. 图灵奖是美国计算机协会于1966年设立的,专门奖励那些对计算机事业作出重要贡献的个人B. 图灵奖有“计算机界诺贝尔奖”之称C. 迄今为止,还没有华裔计算机科学家获此殊荣D. 图灵奖的名称取自计算机科学的先驱、英国科学家阿兰·图灵4.计算机在工作过程中,若突然停电,()中的信息不会丢失。
A. ROM和RAMB. CPUC.ROMD. RAM5.完全二叉树共有2*N-1个结点,则它的叶节点数是()。
A. N-1B. NC. 2*ND. 2N-16. 在以下各项中,()不是操作系统软件。
A. SolarisB. LinuxC. Windows VistaD. Sybase7.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,f,e,c,a,则栈S的容量至少应该是()。
A. 6B. 5C. 4D. 38. 与十进制数28.5625相等的四进制数是()。
A. 123.21B. 131.22C. 130.22D. 130.219. 设字符串S=”Olympic”,S的非空子串的数目是()。
A. 28B. 29C. 16D. 1710.Web2.0是近年来互联网的热门概念之一,其核心思想是互动与分享。
NOIP普及组初赛及答案C
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOILinux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(VectorImage)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
NOIP历届习题(2000-2008)
2000年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题(高中组竞赛用时:3小时)题一进制转换问题描述我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。
例如:123可表示为1*102+2*101+3*100这样的形式。
与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。
一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数。
如果是以R或-R为基数,则需要用到的数码为0,1,....R-1。
例如,当R=7时,所需用到的数码是0,1,2,3,4,5和6,这与其是R或-R无关。
如果作为基数的数绝对值超过10,则为了表示这些数码,通常使用英文字母来表示那些大于9的数码。
例如对16进制数来说,用A表示10,用B表示11,用C表示12,用D表示13,用E表示14,用F表示15。
在负进制数中是用-R作为基数,例如-15(十进制)相当于110001(-2进制),并且它可以被表示为2的幂级数的和数:110001=1*(-2)5+1*(-2)4+0*(-2)3+0*(-2)2+0*(-2)1+1*(-2)0问题求解设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数:-R∈{-2,-3,-4,...,-20}输入输入的每行有两个输入数据。
第一个是十进制数N(-32768<=N<=32767);第二个是负进制数的基数-R。
输出结果显示在屏幕上,相对于输入,应输出此负进制数及其基数,若此基数超过10,则参照16进制的方式处理。
样例输入30000-2-20000-228800-16-25000-16输出30000=11011010101110000(base-2)-20000=1111011000100000(base-2)28000=19180(base-16)-25000=7FB8(base-16)题二乘积最大问题描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。
noip竞赛试题2000题目
第六届全国青少年信息学(计算机)奥林匹克分区联赛试题(参考答案)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)1.下列无符号数中,最小的数是()A.(11011001)2B.(75)10C.(37)8D.(2A)162.在外部设备中,绘图仪属于()A.输入设备B.输出设备C.辅(外)存储器D.主(内)存储器3.GB2312-80规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字是以()为序排列的。
A.以笔划多少B.以部首C.以ASCⅡ码D.以机内码4.算法是指()A.为解决问题而编制的计算机程序B.为解决问题而采取的方法与步骤C.为解决问题而需要采用的计算机语言D.为解决问题而采用的计算方法5.RAM中的信息是()A.生产厂家预先写入的B.计算机工作时随机写入的C.防止计算机病毒侵入所使用的D.专门用于计算机开机时自检用的6.计算机主机是由CPU与()构成的A.控制器B.运算器C.输入、输出设备D.内存储器7.计算机病毒的特点()A.传播性、潜伏性、易读性与隐蔽性B.破坏性、传播性、潜伏性与安全性C.传播性、潜伏性、破坏性与隐蔽性D.传播性、潜伏性、破坏性与易读性8.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为()A.r-fB.r-f+1C.(r-f)MOD n+1D.(r-f+n)MOD n9.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是()A.堆排序B.因特网C.冒泡排序D.快速排序10.Internet的规范译名应为()A.英特尔网B.因特网C.万维网D.以太网11.WINDOWS9x是一种()操作系统A.单任务字符方式B.单任务图形方式C.多任务字符方式D.多任务图形方式12.某种计算机的内存容量是640K,这里的640K容量是指()个字节A.640B.640*1000C.640*1024D.640*1024*102413.在Windows9x中,菜单项后带有符号“…”,表示该菜单项()A.可以进行开关选择B.执行时有对话框C.有若干子命令D.不能执行14.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情况下,个单元A.1000B.10C.100D.50015.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开贮分配的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六届全国青少年信息学(计算机)奥林匹克分区联赛试题(普及组 PASCAL语言二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)1.下列无符号数中,最小的数是().A.(11011001)2 B.(75)10 C.(37)8 D.(2A)16 2.在外部设备中,绘图仪属于().A.输入设备 B.输出设备C.辅(外)存储器 D.主(内)存储器3.GB2312-80 规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字是以()为序排列的.A.以笔划多少 B.以部首 C.以ASCII码 D.以机内码4.算法是指().A.为解决问题而编制的计算机程序 B.为解决问题而采取的方法与步骤C.为解决问题而需要采用的计算机语言 D.为解决问题而采用的计算方法5.RAM 中的信息是().A.生产厂家预先写入的 B.计算机工作时随机写入的C.防止计算机病毒侵入所使用的 D.专门用于计算机开机时自检用的6.计算机主机是由CPU 与()构成的.A.控制器 B.运算器 C.输入、输出设备 D.内存储器7.计算机病毒的特点是().A.传播性、潜伏性、易读性与隐蔽性 B.破坏性、传播性、潜伏性与安全性C.传播性、潜伏性、破坏性与隐蔽性 D.传播性、潜伏性、破坏性与易读性8.设循环队列中数组的下标范围是1–n,其头尾指针分别为f和r,则其元素个数为().A.r- f B.r- f +1C.(r- f ) MOD n+1 D.(r- f + n) MOD n9.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是().A 堆排序B 希尔排序C 冒泡排序D 快速排序10.Internet 的规范译名应为().A.英特尔网 B.因特网 C.万维网 D.以太网11.WINDOWS 9X 是一种()操作系统.A.单任务字符方式 B.单任务图形方式C.多任务字符方式 D.多任务图形方式12.某种计算机的内存容量是640K, 这里的640K 容量是指( ) 个字节.A.640 B. 640*1000 C. 640 * 1024 D.640*1024*1024 13.在Windows 9X中,菜单项后带有符号“…”,表示该菜单项( ).A.可以进行开关选择 B.执行时有对话框C.有若干子命令 D.不能执行14.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情況下,需检视( )个单元.A.1000 B. 10 C. 100 D. 50015.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。
试问:A[5,8]的起始地址为().A.SA+141 B.SA+180 C.SA+222 D.SA+225 16.大家知道,不同类型的存储器组成了多层次结构的存储器体系,按存取速度从快到慢的排列是().A.快存 / 辅存 / 主存 B.外存 / 主存 / 辅存C.快存 / 主存 / 辅存 D.主存 / 辅存 / 外存17.线性表若采用链表存贮结构,要求内存中可用存贮单元地址().A.必须连续 B.部分地址必须连续C.一定不连续 D.连续不连续均可18.下列叙述中,正确的是().A.线性表的线性存贮结构优于链表存贮结构B.队列的操作方式是先进后出C.栈的操作方式是先进先出D.二维数组是指它的每个数据元素为一个线性表的线性表19.电线上停着两种鸟(A,B),可以看出两只相邻的鸟就将电线分为了一个线段。
这些线段可分为两类:一类是两端的小鸟相同;另一类则是两端的小鸟不相同.已知:电线两个顶点上正好停着相同的小鸟,试问两端为不同小鸟的线段数目一定是().A.奇数 B.偶数 C.可奇可偶 D.数目固定20.请仔細閱读下列程序段:PASCAL语言 BASIC语言vara:array[1..3,1..4] of integer;b:array[1..4,1..3] of integer;x,y:integer;beginfor x:=1 to 3 dofor y:=1 to 4 doa[x,y]:=x-y;for x:=4 downto 1 dofor y:=1 to 3 dob[x,y]:=a[y,x];writeln(b[3,2]);end.DIM A(3,4), B(4,3)FOR X=1 TO 3FOR Y=1 TO 4A(X,Y)=X-YNEXT Y , XFOR X=4 TO 1 STEP -1FOR Y=1 TO 3B(X,Y)=A(Y,X)NEXT Y, XPRINT B(3,2)END上列程序段的正确輸出是().A.-1 B.-2 C.-3 D.-4二、问题解答(每题7分,共14分)1.已知,按中序遍历二叉树的结果为:abc问:有多少种不同形态的二叉树可以得到这一遍历结果,并画出这些二叉树。
2.有2×n的一个长方形方格,用一个1×2的骨牌铺满方格。
例如n=3时,为2×3方格。
此时用一个1×2的骨牌铺满方格,共有3种铺法:试对给出的任意一个n(n>0),求出铺法总数的递推公式。
三、阅读程序,并写出程序正确的运行结果(10+16分,共26分)1.PROGRAM NOI_002;VAR I, J, L, N, K, S, T : INTEGER;B : ARRAY[1..10] OF 0..9;BEGINREADLN(L,N); S:=L; K:=1; T:=L;WHILE S<N DOBEGIN K:=K+1; T:=T*L; S:=S+T END;S:=S-T; N:=N-S-1;FOR I:=1 TO 10 DO B[I]:=0;J:=11;WHILE N>0 DOBEGIN J:=J-1; B[J]:=N MOD L; N:=N DIV L END;FOR I:=10-K+1 TO 10 DO WRITE(CHR(ORD('A')+B[I]));END.输入: 4 167输出:2.PROGRAM NOI_004;VAR I, J, J1, J2, P, Q : INTEGER;P1 : BOOLEAN;B,C : ARRAY[1..100] OF INTEGER;BEGINREADLN(Q,P); J:=1; P1:=TRUE; B[J]:=Q; J1:=0;WHILE (Q>0) AND P1 DOBEGINJ1:=J1+1; C[J1]:=Q*10 DIV P; Q:=Q*10-C[J1]*P;IF Q>0 THEN BEGINJ2:=1;WHILE (B[J2]<>Q) AND (J2<=J) DO J2:=J2+1; IF B[J2]=Q THENBEGINP1:=FALSE; WRITE('0.');FOR I:=1 TO J2-1 DO WRITE(C[I]:1);WRITE('{');FOR I:=J2 TO J1 DO WRITE(C[I]:1);WRITELN('}')ENDELSE BEGIN J:=J+1; B[J]:=Q ENDENDEND;IF Q=0 THEN BEGINWRITE('0.');FOR I:=1 TO J1 DO WRITE(C[I]:1);WRITELNEND; READLNEND.输入 ① 1 8 输出输入 ② 2 7 输出四、完善程序(每题15分,共30分)1. 将2n个0和2n个1,排成一圈。
从任一个位置开始,每次按逆时针的方向以长度为n+1的单位进行数二进制数。
要求给出一种排法,用上面的方法产生出来的2n+1个二进制数都不相同。
例如,当n=2时, 即22个0 和22个1 排成如下一圈: A 0 B 0 1 HC 0 1G D 1 1 F 0 E比如,从A位置开始,逆时针方向取三个数000,然后再从B位置上开始取三个数001,接着从C开始取三个数010,...可以得到000,001,010,101,011,111,110,100共8个二进制数且都不相同。
程序说明以n=4为例,即有16个0,16个1,数组a用以记录32个0,1的排法,数组b统计二进制数是否已出现过。
程序清单PROGRAM NOI00;VARA : ARRAY[1..36] OF 0..1;B :ARRAY[0..31] OF INTEGER;I, J, K, S, P : INTEGER;BEGINFOR I:=1 TO 36 DO A[I]:=0;FOR I:=28 TO 32 DO A[I]:=1;P:=1; A[6]:=1;WHILE (P=1) DOBEGINJ:=27;WHILE A[J]=1 DO J:=J-1;①FOR I:=J+1 TO 27 DO ②FOR I:=0 TO 31 DO B[I]:=0;FOR I:=1 TO 32 DOBEGIN③FOR K:=I TO I+4 DO S:=S*2+A[K];④END;S:=0;FOR I:=0 TO 31 DO S:=S+B[I];IF ⑤ THEN P:=0END;FOR I:=1 TO 32 DO FOR J:=I TO I+4 DO WRITE(A[J]);WRITELNEND.2.多项式的乘法。
例如有如下多项式:P(X)=2X2-X+1, Q(X)=X+1则:P(X)·Q(X)=(2X2-X+1)(X+1)=2X3+X2+1程序说明:多项式的表示:系数、指数如上例中: P(X):系数指数 Q(X) 系数指数2 2 1 1-1 1 1 01 0 0 00 0PXQ的结果存入C中。
其输出格式是:依次用一对括号内的(系数,指数)分别来表示。
如上例的输出结果表示为:(2,3)(1,2)(1,0)程序清单PROGRAM NOI_007;VARI, J, K, L , JP, JQ, JC, X, Y, X1, Y1 : INTEGER;P, Q : ARRAY[1..10,1..2] OF INTEGER;C : ARRAY[1..20,1..2] OF INTEGER;BEGINJP:=0;READLN(X,Y); WHILE X<>0 DOBEGIN JP:=JP+1; P[JP,1]:=X; P[JP,2]:=Y; READLN(X,Y) END; JQ:=0;READLN(X,Y);WHILE X<>0 DOBEGIN JQ:=JQ+1; Q[JQ,1]:=X; Q[JQ,2]:=Y; READLN(X,Y) END;JC:=1; C[JC,1]:=0; C[JC,2]:=-1000;FOR I:=1 TO JP DOBEGIN① Y:=P[I,2];FOR J:=1 TO JQ DOBEGIN② Y1:=Y+Q[J,2];K:=1;WHILE Y1<C[K,2] DO K:=K+1;IF Y1=C[K,2] THEN ③ELSEBEGINFOR L:=JC DOWNTO K DOBEGINC[L+1,1]:=C[L,1]; C[L+1,2]:=C[L,2] END; C[K,1]:=X1; C[K,2]:=Y1; ④ END ENDEND;FOR I:=1 TO JC DOIF ⑤ THEN WRITE(‘(’,C[I,1],‘,’,C[I,2],')');READLNEND.赛区市学校姓名========================== 密封线=======================第六届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题普及组答卷纸阅卷记录总阅卷人总得分第一大题得分第二大题得分题12345678910第三大题得分号(1)(2)得分11121314151617181920第四大题得分题号(1)(2)得分=============================以下由考生填写=============================答卷部分一、 选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)1 23 4 5 6 7 8 910题号选择11 12 13 14 15 16 17 18 1920题号选择二、问题解答(共14分)1. 答:有种不同形态的二叉树可以得到这一遍历结果; (2分)可画出的这些二叉树为: (5分)2. 对给出的任意一个n(n>0),用F(N)表示其铺法的总数的递推公式为: (7分)赛区市学校姓名========================== 密封线=======================三、阅读程序,并写出程序的正确运行结果(10+16分,共26分)(1)程序的运行结果是:(2)程序的运行结果是:四、根据题意,将程序补充完整(每个点3分,共30分)PASCAL语言 BASIC语言==================================题一① 70② 110 ③ 140 ④ 180 ⑤ 220 题二① 190② 240 ③ 280 ④ 300 ⑤ 350 。