Noip2006复赛模拟题
NOIP2006复赛模拟题(普及组水平)
(时间:3小时)
注意事项:
1. 严格按照题目所要求的格式进行输入、输出。
2. 题目测试数据有严格的时间,超时不得分。所有题目的时限均为1秒。
3. 输入文件格式不用判错。程序文件名、输入输出文件名等请严格按照要求。 4. 本次比赛共4题。
5. 同时提交pas、exe文件,请使用freepascal编译。编译后的exe请留意是否能正确运行。 为方便测试,所有pas、exe均存在一个文件夹中,该文件夹用你的中文名字命名,然后把整个文件夹压缩为一个rar文件(该文件也是用你的中文名字命名)提交到老师邮箱:lzoi@21cn.com。
题号 试题名称 提交文件名 输入文件名 输出文件名 满分 第一题 位置 第二题 面积 第三题 阶乘位数 第四题 九连环 posi posi.in posi.out 100 area area.in area.out 100 jc jc.in jc.out 100 ring ring.in ring.out 100
第一题 位置(posi.pas)
求数A在数组B中的位置.
输入及格式:第一行是数A ,一维数组B的元素个数N(N<=10),中间用空格隔开。 第二行是已按升序排列的一维数组B (-32768
输入样例1:3 6
1 3 3 4 5 10 输出样例1:2 输入样例2:1 3 3 4 5 输出样例2:-1
5
第二题 面积(area.pas)
一幅图由0和*组成,编程计算由“*”号所围成的图形的面积。面积是指*号所围成的闭合曲线中0的数目。
输入:由0,*组成的图 输出:面积数
Noip2006复赛模拟题
输入样例: 000000000 0000**000 000*00*00 00*000*00 000***000 000000000 输出样例: 5
输入样例2: 00000 00000 00*00 0*0*0
输出样例2: 0
第三题 阶乘位数(jc.pas)
问题描述:
在很多软件中需要用到较大的整数。比如一些软件将大数用于数据安全传送的密匙或者密码编译等等。在这个问题中,你要根据给你的整数,算出这个数的阶乘的位数。
输入格式:
输入文件包含若干行整数。第一行为n,表示有n组数据,接下来是n行,每行一个整数m(1≤m≤10)。
输出格式:
输出这些数的阶乘的位数。
输入样例: 2 10 20
输出样例: 7 19
7
Noip2006复赛模拟题
第四题:九连环(ring.pas)
问题描述:
九连环是由九个彼此套接的圆环和一根横杆组成,九个环从左到右依次为1-9,每个环有两种状态:1和0,1表示环在杆上,0表示环不在杆上.初始状态是九个环都在杆上,即:111111111,目标状态是九个环都不在环上,即:000000000,由初始状态到目标状态的变化规则是: <1>第一环为无论何时均可自由上下横行.
<2>第二只环只有在第一环为1时,才能自由上下.
<3>想要改变第n(n>2)个环的状态,需要先使第一到第(n-2)环均为下杆,且第n-1个环为上杆,而与第N+1个到第九环状态无关. <4>每改变一个环,记为一步.
现在九连环由111111111变到000000000,求中间第I步的状态。
输入:仅包含一个整数i
输出:仅包含中间第i步的状态。如果输入的步数大于实际变换所需的步数,则输出-1。
输入样例:2
输出样例:010111111
输入样例:500 输出样例:-1