资源描述:
《信息学奥林匹克全国联赛复赛试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息学奥林匹克全国联赛复赛试题(95年)1、设有下列的算式: 求出 中的数字,并打印出完整的算式来。2、方阵填数:在一个N×N的方阵中,填入1,2,…,N×N个数,并要求构成如下的格式:例: N=5 N=6131415161161718192011223241721530313221211222518314293633223102120194132835342349876512272625245111098763、若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。
2、 例如:(13)10=(1101)2 其中1的个数为3,0的个数为1,则称此数为A类数 (10)10=(1010)2其中1的个数为2,0的个数也为2,称此数为B类数 (24)10=(11000)2其中1的个数为2,0的个数为3,则称此数为B类数程序要求:求出1~1000之中(包括1和1000),全部A,B两类数的个数。4、编码问题:设有一个数组A:ARRAY[1..N-1]OFINTEGER;数组中存放的元素为0~N-1之间的整数,且A[i]≠A[j](当i≠j时)。例如:N=6时,A=(4,3,0,5,1,2)此时,数组A的编码定义如下:A[0]的编码为0A[i]的编码为:在A
3、[0],A[1],…,A[i-1]中比A[i]的值小的个数(i=1,2,…,N-1)所以上面数组A的编码为:B=(0,0,0,3,1,2)程序要求解决以下问题:①给出数组A后,求出其编码;②给出数组A的编码后,求出A中的原数据。5、灯的排列问题:设在一排上有N个格子(N≤20),在格子中放置有不同颜色的灯,每种灯的个数记为N1,N2,…,Np(P表示不同颜色灯的个数)。放灯时要遵守下列规则:①同一种颜色的灯不能分开②不同颜色的灯之间至少要有一个空位置。例如:N=8(格子数)R=2(红灯数)B=3(蓝灯数)放置的方法有:R-B顺序RRBBBRRBBBRRBBBRRBBBRRBBBRRBBBB-
4、R顺序BBBRRBBBRRBBBRRBBBRRBBBRRBBBRR放置的方式为12种。数据输入的方式为:NP1(颜色,为一个字母)N1(灯的数量)P2N2……Q(结束标记,Q本身不是灯的颜色)程序要求:求出一种顺序的排列方案及排列总数。信息学奥林匹克全国联赛复赛试题(96年)1、从键盘读入2个100以内的正整数,进行乘法运算并以整式输出。例如:输入8913又如:输入168输出格式:89输出格式:16*13*82671288911572、输入三个自然数N,i,j(1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行、同列、同一对角线的所有格子的位置。如:n=4,i
5、=2,j=3表示了棋盘中的第二行第三列的格子,如下图:第一列第二列第三列第四列第一行2,3第二行第三行第四行要求编制一个程序,根据输入的N,i,j,的值,输出与格子(i,j)在同一行,同一列,同一对角线上的所有格子位置,例如:当n=4,i=2,j=3时,输出的结果是:(2,1)(2,2)(2,3)(2,4){同一行上格子的位置}(1,3)(2,3)(3,3)(4,3){同一列上格子的位置}(1,2)(2,3)(3,4){左上到右下对角线上的格子的位置}(4,1)(3,2)(2,3)(1,4){左下到右上对角线上的格子的位置}3、从键盘输入一长度不超过40的字符串,按要求进行删除、插入或替换操
6、作。例如:‘Thisisabook.’现对该字符串进行编辑,编辑功能有:D:删除一个字符,命令的方式为:Da其中a为被删除的字符例如:Ds表示删除字符‘s’,若字符串中有多个‘s’,则删除第一次出现的。如上例中删除的结果为:‘Thiisabook.’I:插入一个字符,命令的格式为:Ia1a2其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:Isd表示在指定字符‘s’的前面插入字符‘d’,若原串中有多个‘s’,则插入在最后一个字符的前面,如上例中:原串:‘Thisisabook.’插入后:‘Thisidsabook.’R:替换一个字符,命令格式为:Ra1a2其中a1为被替换的字符,
7、a2为替换的字符,若在原串中有多个a1则应全部替换。例如:原串:‘Thisisabook.’输入命令:Roe替换后的字符串为:‘Thisisabeek.’在编辑过程中,若出现被改的字符不存在时,则给出提示信息。4、有2n(n<=6)个球队进行单循环比赛,计划在2n-1天内完成,每个队每天进行一场比赛。设计一个比赛的安排,使在2n-1天内每个队都与不同的对手比赛。例如:n=2时的比赛安排:队1234比赛1===