NOIP2005普及组初赛试题及答案

合集下载

NOIP2005普及组复赛试题(附题解)

NOIP2005普及组复赛试题(附题解)

noip2005xx组解题报告xx摘苹果【文件名】:apple.pas/c/cpp【问题描述】陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。

苹果成熟的时候,陶陶就会跑去摘苹果。

陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。

假设她碰到苹果,苹果就会掉下来。

【输入文件】输入文件apple.in包括两行数据。

第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。

第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

【输出文件】输出文件apple.out包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

【样例输入】100 200 150 140 129 134 167 198 200 111110【样例输出】5分析:拿到这道题,我觉得还是比较简单的。

由于数据范围都不超过200,用integer完全就足够了,具体步骤如下:1.读入2.循环1 to 103.判断,找出最优解4.输出【程序清单】program apple;vari,n,s:integer;a:array[1..10] of integer;beginassign(input,'apple.in');reset(input);for i:=1 to 10 do read(a[i]);read(n);s:=0; for i:=1 to 10 doif n+30>=a[i] then s:=s+1;close(input);assign(output,'apple.out');rewrite(output);write(s);close(output);end.校门外的树【文件名】tree.pas/c/cpp【问题描述】某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。

NOIP第五章习题一答案

NOIP第五章习题一答案

第 3 页 共 9 页
/* 4.数组逆序重【1.6 编程基础之一维数组 04】 将一个数组中的值按逆序重新存放。例如,原来的顺序为 8,6,5,4,1。要求改为 1,4,5,6,8。 输入: 输入为两行:第一行数组中元素的个数 n(1<n<100),第二行是 n 个整数,每两个整数 之间用空格分隔。 输出: 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。 样例输入: 5 86541 样例输出: 14568 */ #include "iostream" #include "iomanip" using namespace std; int main() { int count; int num[100]; cin>>count; for(int i=0;i<count;i++) { cin>>num[i]; } int n=count; int temp = count-1; if(count%2==0) count=count/2; else count=(count-1)/2; for(int i=0;i<count;i++) { int m; m=num[i]; num[i]=num[temp]; num[temp]=m; temp--; }
//
} /* 7.向量点积计算【1.6 编程基础之一维数组 07】 在线性代数、计算几何中,向量点积是一种十分重要的运算。给定两个 n 维向量 a=(a1,a2,...,an)和 b=(b1,b2,...,bn),求点积 a·b=a1b1+a2b2+...+anbn。 输入: 第一行是一个整数 n(1<=n<=1000)。 第二行包含 n 个整数 a1,a2,...,an。 第三行包含 n 个整数 b1,b2,...,bn。 相邻整数之间用单个空格隔开。每个整数的绝对值都不超过 1000。 输出: 一个整数,即两个向量的点积结果。 样例输入: 3 146 215

NOIP普及组初赛及答案Pascal

NOIP普及组初赛及答案Pascal

第十八届全国青少年信息学奥林匹克联赛初赛(普及组Pascal语言试题)选手注意:试题纸共有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.十5.()不属于操作系统。

A.WindowsB.DOSD.十二C.PhotoshopD.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。

A.ABCB.CBAC.ACBD.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。

A.显示器B.CPUC.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。

A.0B.5C.10D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。

A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。

如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。

A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(VectorImage)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。

NOIP2005普及组初赛试题及答案

NOIP2005普及组初赛试题及答案

第十一届全国青少年信息学奥林匹克联赛初赛试题(普及组pascal&C 语言二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●由OIFans()整理一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。

A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合C B A ~ Ç Ç 为()。

A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。

A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。

以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。

以下哪条边不是图G 的最小生成树中的边()。

A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。

A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。

某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。

已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。

A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。

2005年信息学奥赛NOIP普及组初赛试题及参考答案

2005年信息学奥赛NOIP普及组初赛试题及参考答案
│3
一、选择题
3. 和十进制数 23 的值相等的二进制数是( )。 A. 10110 B. 11011 C. 11011 D. 10111 E. 10011
│4
一、选择题
4. 完全二叉树的结点个数为 11,则它的叶结点个数 为( )。 A. 4 B.3 C.5 D. 2 E. 6
│5一、选择题│源自20一、选择题20. 设栈 S 的初始状态为空,元素 a, b, c, d, e, f, g 依次入栈,以下出栈序列不可能出 现的是( )。 A. a,b,c,e,d,f,g B. b,c,a,f,e,g,d C. a,e,d,c,b,f,g D. d,c,f,e,b,a,g E. g,e,f,d,c,b,a
│ 21
二、问题解答 1、将数组{32,74,25,53,28,43,86,47}中的元素 按从小到大的顺序排列,每次可以交换任意两个 元素,最少需要交换_______ 次。
│ 22
二、问题解答
2. 有 3 个课外小组:物理组,化学组和生物组。今有张、 王、李、赵、陈 5 名同学,已知张、王为物理组成员, 张、李、赵为化学组成员,李、赵、陈为生物组成员。如果 要在 3 个小组中分别选出 3 位组长,一位同学最多只能 担任一个小组的组长,共有_______种选择方案。
5. 平面上有五个点 A(5,3),B(3,5),C(2,1),D(3,3),E(5,1)。以这五点 作为完全图 G 的顶点,每两点之间的直线距离是图 G 中对应边的权 值。以下哪条边不是图 G 的最小生成树中的边( )。 A. AD B. BD C. CD D. DE E. EA
│6
一、选择题
6. Intel 的首颗 16 位处理器是( )。 A. 8088 B. 80386 C. 80486 D. 8086 E. Pentium

NOIP普及组初赛历年试题及答案求解题篇

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普及组初赛历年试题及答案阅读题篇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;<>。

noip初赛试题1-推荐下载

noip初赛试题1-推荐下载

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=1024GB。

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初赛普及组试题

历年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码是英国人主持制定并推广使用的。

6、下列软件中不是计算机操作系统的是:A) Windows B) Linux C) OS/2 D) WPS7、关于互联网,下面的说法哪一个是正确的:A)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。

1124 陶陶摘苹果【NOIP2005普及组】 1125 校门外的树【NOIP2005普及组】

1124 陶陶摘苹果【NOIP2005普及组】  1125 校门外的树【NOIP2005普及组】

陶陶摘苹果【NOIP2005普及组】Time Limit:10000MS Memory Limit:65536KTotal Submit:32 Accepted:30Description陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。

苹果成熟的时候,陶陶就会跑去摘苹果。

陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。

假设她碰到苹果,苹果就会掉下来。

Input输入文件apple.in包括两行数据。

第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。

第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

Output输出文件apple.out包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

Sample Input100 200 150 140 129 134 167 198 200 111110Sample Output5Source∙var∙ i,j,n:longint;∙ a:array[1..10] of longint;∙begin∙ n:=0;∙ for i:=1 to 10 do read(a[i]);∙ readln(j);∙ for i:=1 to 10 do if j+30>=a[i] then inc(n); ∙ writeln(n);∙end.校门外的树【NOIP2005普及组】Time Limit:10000MS Memory Limit:65536KTotal Submit:13 Accepted:10Description某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。

NOIP2005复赛普及组第三题

NOIP2005复赛普及组第三题
Flag
题号
P1005
类型(?)
动态规划
通过
5007人
提交
9918次
通过率
50%
难度
1
提交
讨论
题解
NOIP2005复赛普及组第三题
描述Description
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式InpuFra bibliotek Format
输入文件medic.in的第一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。
输出格式Output Format
输出文件medic.out包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。
样例输入Sample Input [复制数据]
样例输出Sample Output [复制数据]
时间限制Time Limitation
各个测试点1s
注释Hint
对于30%的数据,M <= 10;对于全部的数据,M <= 100。

NOIP2005提高组初赛试题答案(5篇)

NOIP2005提高组初赛试题答案(5篇)

NOIP2005提高组初赛试题答案(5篇)第一篇:NOIP2005提高组初赛试题答案第十一届全国青少年信息学奥林匹克联赛初赛试题(提高组pascal 语言二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共10题,每题1.5分,共计15分。

每题有且仅有一个正确答案.)。

6.下列设备中没有计算功能的是()。

A.笔记本电脑 B.掌上电脑 C.智能手机D.电子计算器E.液晶显示器7.Intel的首颗64 位处理器是()。

A.8088B.8086C.80386D.80486E.Pentium 8.常见的邮件传输服务器使用()协议发送邮件。

A.HTTP B.SMTP C.TCP D.FTP E.POP3 9.不能在Linux 上使用的网页浏览器是()。

A.Internet ExplorescapeC.OperaD.FirefoxE.Mozilla 10.一位艺术史学家有20000 幅1024 * 768 的真彩色图像,如果将这些图像以位图形式保存在CD 光盘上(一张CD 光盘的容量按600M计算),大约需要()张CD光盘。

A.1 B.10 C.100 D.1000 E.10000二、不定项选择题(共10题,每题1.5分,共计15分。

多选或少选均不得分)。

11.设A = true,B = false,C = false,D = true,以下逻辑运算表达式值为真的有()。

A.(A∧B)∨(C∧D)B.((A∧B)∨C)∧DC.A∧((B∨C)∨D)D.(A∧(B∨C))∨DE.(A∨B)∧(C∨D)12.(3725)8 +(B)16的运算结果是()。

A.(3736)8B.(2016)10C.(11111100000)2D.(3006)10E.(7E0)1613.二叉树T的宽度优先遍历序列为A B C D E F G H I,已知A是C的父结点,D 是G 的父结点,F 是I 的父结点,树中所有结点的最大深度为3(根结点深度设为0),可知E的父结点可能是()。

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

第十一届全国青少年信息学奥林匹克联赛初赛试题(普及组pascal&C 语言二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●由OIFans()整理一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。

A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合C B A ~ Ç Ç 为()。

A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。

A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。

以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。

以下哪条边不是图G 的最小生成树中的边()。

A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。

A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。

某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。

已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。

A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。

A. 音箱B. 显示器C. 打印机D. 扫描仪E. 绘图仪9. 下列活动中不属于信息学奥赛的系列活动的是()。

A. NOIPB. NOIC. IOID. 冬令营E. 程序员等级考试10. 以下断电之后仍能保存数据的是()。

A. 硬盘B. 寄存器C. 显存D. 内存E. 高速缓存11. 以下哪个软件不是即时通信软件()。

A. 网易泡泡B. MSN MessengerC. Google TalkD. 3DS MaxE. QQ12. 下列关于高级语言的说法错误的是()。

A. Fortran是历史上的第一个面向科学计算的高级语言B. Pascal和C都是编译执行的高级语言C. C++是历史上的第一个支持面向对象的语言D. 编译器将高级语言程序转变为目标代码E. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上13. 下列设备不具有计算功能的是()。

A. 笔记本电脑B. 掌上电脑C. 智能手机D. 电子计算器E. 液晶显示器14. 常见的邮件传输服务器使用()协议接收邮件。

A. HTTPB. SMTPC. TCPD. FTPE. POP315. 下列浏览器中,由微软公司开发的浏览器是()。

A. Internet ExploreB. NetscapeC. OperaD. FirefoxE. Mozilla16. 一位艺术史学家有20000 幅真彩色图像,每幅图像约占3M空间。

如果将这些图像以位图形式保存在CD 光盘上(一张CD 光盘的容量按600M计算),大约需要()张CD光盘。

A. 1B. 10C. 100D. 1000E. 1000017. 设A = true,B = false,C = false,D = true,以下逻辑运算表达式值为真的是()。

A. (A B ∧ )∨(C D ∧ )B. ((A B ∧ ) C ∨ ) D ∧C. A∧((B C ∨ ) D ∧ )D. (A∧(B C ∨ )) D ∨E. (A B ∨ )∧(C D ∧ )18. (3725)8 + (B)16的运算结果是()。

A. (3736)8B. (2016)10C. (1111110000)2D. (3006)10E. (7B0)1619. 二叉树T的宽度优先遍历序列为A B C D E F G H I,已知A是C的父结点,D 是G 的父结点,F 是I 的父结点,树中所有结点的最大深度为3(根结点深度设为0),可知F的父结点是()。

A. 无法确定B. BC. CD. DE. E20. 设栈S的初始状态为空,元素a, b, c, d, e, f, g依次入栈,以下出栈序列不可能出现的是()。

A. a, b, c, e, d, f, gB. b, c, a, f, e, g, dC. a, e, d, c, b, f, gD. d, c, f, e, b, a, gE. g, e, f, d, c, b, a二.问题求解(请在空格处填上答案,每空5分,共10分)1. 将数组{32, 74, 25, 53, 28, 43, 86, 47}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换次。

2. 有3 个课外小组:物理组,化学组和生物组。

今有张、王、李、赵、陈5 名同学,已知张、王为物理组成员,张、李、赵为化学组成员,李、赵、陈为生物组成员。

如果要在3 个小组中分别选出3 位组长,一位同学最多只能担任一个小组的组长,共有种选择方案。

三.阅读程序(共4题,每题8分,共计32 分)==================PASCAL语言==================1. vara, b : integer;beginread(a);b := (a * (a * a)) + 1;if b mod 3 = 0 then b := b div 3;if b mod 5 = 0 then b := b div 5;if b mod 7 = 0 then b := b div 7;if b mod 9 = 0 then b := b div 9;if b mod 11 = 0 then b := b div 11;if b mod 13 = 0 then b := b div 13;if b mod 15 = 0 then b := b div 15;writeln((100 * a - b) div 2);end.输入:10输出:2. varstr : string;i : integer;beginstr := 'Today-is-terrible!';for i := 7 to 11 doif str = '-' then str[i - 1] := 'x';for i := 13 downto 1 doif str = 't' then str[i + 1] := 'e';writeln(str);end.输出:3. vara, b, c, p, q : integer;r : array[0..2] of integer;beginread(a, b, c);p := a div b div c;q := b - c + a + p;r[0] := a * p div q * q;r[1] := r[0] * (r[0] - 300);if (3 * q - p mod 3 <= r[0]) and (r[2] = r[2]) then r[1] := r[r[0] div p mod 2]else r[1] := q mod p;writeln(r[0] - r[1]);end.输入:100 7 3输出:4. varstr : string;len, i, j : integer;nchr : array [0..25] of integer;mmin : char;beginmmin := 'z';readln(str); len := length(str);i := len;while i >= 2 do beginif str[i - 1] < str then break; dec(i);end;if i = 1 then beginwriteln('No result!'); exit;end;for j := 1 to i - 2 do write(str[j]);fillchar(nchr, sizeof(nchr), 0);for j := i to len do beginif (str[j] > str[i - 1]) and (str[j] < mmin) then mmin := str[j];inc(nchr[ord(str[j]) - ord('a')]);end;dec(nchr[ord(mmin) - ord('a')]);inc(nchr[ord(str[i - 1]) - ord('a')]);write(mmin);for i := 0 to 25 dofor j := 1 to nchr dowrite(chr(i + ord('a')));writeln;end.输入:zzyzcccbbbaaa输出:==================C语言==================1. #include <stdio.h>int main() {int a, b;scanf(“%d”, &a);b = (a * (a * a)) + 1;if (b%3 == 0) b = b / 3;if (b%5 == 0) b = b / 5;if (b%7 == 0) b = b / 7;if (b%9 == 0) b = b / 9;if (b%11 == 0) b = b / 11;if (b%13 == 0) b = b / 13;if (b%15 == 0) b = b / 15;printf(“%d \n”, (100 * a – b) / 2);return 0;}输入:10输出:2. #include <stdio.h>int main() {char str[20] = “Today-is-terrible!”;int i;for (i = 6; i <= 10; i++)if (str == ‘-‘) str[i –1] = ‘x‘;for (i = 12; i >= 0; i--)if (str == ‘t’) str[i + 1] = ‘e’;printf(“%s\n”, str);return 0;}输出:3. #include <stdio.h>int main() {int a, b, c, p, q, r[3];scanf(“%d%d%d”, &a, &b, &c);p = a / b / c;q = b – c + a + p;r[0] = a * p / q * q;r[1] = r[0] * (r[0] – 300);if (3 * q – p % 3 <= r[0] && r[2] == r[2]) r[1] = r[r[0] / p % 2];elser[1] = q % p;printf(“%d\n”, r[0] – r[1]);return 0;}输入:100 7 3输出:4. #include<stdio.h>#include<string.h>int main(){char str[60];int len, i, j, chr[26];char mmin = 'z';scanf("%s", str);len = strlen(str);for (i = len - 1; i >= 1; i--)if (str[i - 1] < str) break;if (i == 0) {printf("No result!\n"); return 0;}for (j = 0; j < i - 1; j++) putchar(str[j]); memset(chr, 0, sizeof(chr));for (j = i; j < len; j++) {if (str[j] > str[i - 1] && str[j] < mmin) mmin = str[j];chr[str[j] - 'a']++;chr[mmin - 'a']--;chr[str[i - 1] - 'a']++;putchar(mmin);for(i = 0; i < 26; i++)for(j = 0; j < chr; j++)putchar(i + 'a');putchar('\n');return 0;}输入:zzyzcccbbbaaa输出:四.完善程序(前4空,每空2分,后5空,每空4分,共28分) ==================PASCAL语言==================1.判断质数题目描述:给出一个正整数,判断这个数是否是质数。

相关文档
最新文档