主题:各位大虾:谁能提供南京“信息与未来”竞赛的试题,拜谢!
嘟嘟小熊
[专家分:0] 发布于 2009-02-23 15:26:00
就是江苏信息奥赛的南京初赛试题,网上很难找到,谢谢了,孩子要考的,想先看看
回复列表 (共8个回复)
沙发
冰冻小企鹅 [专家分:190] 发布于 2009-02-26 20:19:00
不行!这样属于作弊行为,必须自己思考`~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&8
8888888888888888888888888888888888888888888888888888888888888888888888888[em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9]
板凳
QBfire [专家分:50] 发布于 2009-02-27 12:31:00
~{NRR2R*?<#,5+GP<G#,2;?IWw1W#!#!#!??WT<:#!#!#!~}
3 楼
嘟嘟小熊 [专家分:0] 发布于 2009-03-04 11:45:00
拜托,往届试题耶,捣乱的不要!
4 楼
hxy_anhui [专家分:320] 发布于 2009-03-14 20:41:00
我只有复赛,当然,如果你不要就算了。要给说一声。
5 楼
嘟嘟小熊 [专家分:0] 发布于 2009-03-16 11:14:00
hxy_anhui:要呀,谢谢专家咯
6 楼
hxy_anhui [专家分:320] 发布于 2009-03-28 20:29:00
这是06年的
题一 选夏令营旗手
【问题描述】
每年的“信息与未来”小学生夏令营活动,组织者均设计安排了许多有趣的活动。去年小明与许多同学一起参加的走迷宫就是其中的一项,他经过努力并取得了好成绩。
今年小明又怀着极大的兴趣来到了营地,首先看到组织者贴出的一个海报:挑选本次夏令营的旗手!由于报名的营员非常多,于是只好规定让所有参加的N个人坐成一圈,并按顺时针方向从1~N编号。由第1人开始进行1~M报数,报到M的人出圈,再从下一个人重新开始从1到m报数。如此进行下去,直到剩下一人为止,就是本次夏令营的旗手。
小明非常渇望能成为旗手,你能编一个程序帮助他实现愿望吗?如果可以的话,你的程序应输出小明在圈中的编号。
【输 入】:键盘输入二个整数N,M (2≤N,M≤100,N≥ M ),用一个逗号分隔。
【输 出】:输出到屏幕 。一个整数,表示小明在圈中的编号。
【样 例】:
输入 输出
9,3 1
题二 找最长良序字符串
【问题描述】
我们将“ABC”或“ACEG”等类似的字串称为良序字串(因为它们是按ASCII码排列的),而像“ACB”或“ACCD”或“AGCD”则不可称为良序字串。
编写程序,将键入的一串字符中的最长良序字串找出来,并输出其长度。
【输 入】:文件读入一串字符(长度≤30)。
【输 出】:输出到屏幕 。一个最长良序字串的长度。
【样 例】:
输入 输出
2345135791246823456 5
题三 加工制作模型
【问题描述】
由苏州市科学技术协会创办的公益性质的青少年科学工作室,旨在通过参与、实践、体验的过程培养青少年的动手能力及创新意识。今年的夏令营安排了一个让营员动手实践的活动项目,要求利用该工作室提供的锯床和材料在辅导老师的指导下加工制作出各种不同的模型。
活动时两名营员组成一小组制作N个模型。制作每件模型需一定时间,且只能由一人完成。例如N=4时,四件模型完成的时间分别为:8,11,13,21分钟,此时二人有多种完成的方案:
方案一:A 制作前3件用时32分钟,B制作第4件用时21分钟,两人总的完成时间为32分钟;
方案二:A 制作1、4件用时29分钟,B制作2、3件用时24分钟,两人总的完成时间为29分钟。
在确定了N及每件模型制作时间后,现在请你找出一种完成时间最少的方案。
【输 入】:文件读入。第一行一个整数N ,表示N个模型(2≤N≤100)。
第二行N个整数(≤10000),表示制作N个模型的用时。数与数之间用逗号分隔。
【输 出】:输出到屏幕 。一个整数(表示最少用时)。
【样 例】:
输入 输出
3 21
12,18,9
题四 整数的拼接
【问题描述】
设有n个整数(3≤n≤10),将这些整数拼接起来,可以形成一个最大的整数。
例如 n=3, 三个整数分别为21, 7, 34, 拼接后最大的整数为: 73421
【输 入】:文件读入。第一行一个整数n ,表示有n 个整数
第二行n个整数,数与数之间用一个逗号分隔。
【输 出】:输出到屏幕 。一个拼接后的最大的整数。
【样 例】:
输入 输出
3 73421
21,7,34
题五 0~1计数
【问题描述】
设有1,2,3,…, n共n个整数(2≤n≤1000),将这n个整数全部化成二进制。
例如,当n=9时,其1-9个整数及它们所对应的二进制数如下:
整 数 1 2 3 4 5 6 7 8 9
二进制数 1 10 11 100 101 110 111 1000 1001
这些二进制数可以分成二类:
A类数:该数的二进制表示中的0的个数≥1的个数,如2,4,8,9。
B类数:该数的二进制表示中的0的个数<1的个数,如1,3,5,6,7
问题 当n给出之后,统计出A类数的个数
【输 入】:
键盘输入一个整数N。
【输 出】:
输出到屏幕 。一个整数。
【样 例】:
输入 输出
9 4
7 楼
嘟嘟小熊 [专家分:0] 发布于 2009-03-31 10:53:00
谢谢,06年的网上我找到过,还有其他的吗?
8 楼
hxy_anhui [专家分:320] 发布于 2009-04-03 09:57:00
2005年江苏省"信息与未来"小学生夏令营活动
计算机操作项目之一:程序设计试题
1, 【回文数个数】
如果一个正整数从左向右读与从右向左读均是一样,则称其为回文数。例如3、121、3223、12021都是回文数。
输入:任意给定的一个正整数n(0<n<=100000)
输出:一个正整数,表示[1,n]之间的回文数的个数。
【输入格式】键盘输入 ,无须合法性检验.
【输出格式】输出到屏幕 。
【样例】
输入 输出
325 41
2、 【对应关系】
给定两个长度相同的字符串A$和B$,如果A$中的一字符与B$中的一字符出现次数相同,则说此二字符是对应的;如果A$中所有字符分别对应于B$中所有字符,则说二字符串之间存在一个对应关系;要求算出两串之间存在的所有对应关系的个数(若无对应关系,则输出为0)。
例如: A$=”abac”, B$=”3132”,那么它们之间存在2个对应关系, 分别是:
a 3 a 3
b 1 b 2
c 2 c 1
【输入格式】键盘输入。只有两行,每行给出一个字符串,每个字符串全部由小写字母或数字组成,串的长度不超过20,而且串中最多出现10种不同字符。不必对输入做正确性检查。
【输出格式】一个正整数,表示输入字符串之间存在对应关系的个数。
【样例】
输入: 输出
abad 2
1231
CLS
DO: INPUT Y
IF Y = -1 THEN EXIT DO
OPEN " F:\DATA\2005\05T2\JS20" + LTRIM$(STR$(Y MOD 10)) + ".IN" FOR INPUT AS #1
INPUT #1, A$
INPUT #1, B$
REDIM A(20), A$(10), B(20), B$(10), SA(20), SB(20)
CLOSE
IA = 0
L = LEN(A$)
FOR I = 1 TO L
AA$ = MID$(A$, I, 1)
FOR J = 1 TO IA
IF AA$ = A$(J) THEN EXIT FOR
NEXT J
IF J = IA + 1 THEN IA = IA + 1: A$(IA) = AA$: A(IA) = 1 ELSE A(J) = A(J) + 1
NEXT I
'FOR I = 1 TO IA: PRINT A$(I); "=====>"; A(I): NEXT I: PRINT
IB = 0
FOR I = 1 TO L
BB$ = MID$(B$, I, 1)
FOR J = 1 TO IB
IF BB$ = B$(J) THEN EXIT FOR
NEXT J
IF J = IB + 1 THEN IB = IB + 1: B$(IB) = BB$: B(IB) = 1 ELSE B(J) = B(J) + 1
NEXT I
'FOR I = 1 TO IB: PRINT B$(I); "=====>"; B(I): NEXT I: PRINT
FOR I = 1 TO IA
SA(A(I)) = SA(A(I)) + 1
IF MI < A(I) THEN MI = A(I)
NEXT I
FOR I = 1 TO IB
SB(B(I)) = SB(B(I)) + 1
IF MI < B(I) THEN MI = B(I)
NEXT I
S = 1
FOR K = 1 TO MI
IF SA(K) <> SB(K) THEN PRINT "0": GOTO 1
IF SA(K) = 0 THEN 10
P = 1
FOR T = 1 TO SA(K): P = P * T: NEXT T
S = S * P
10 NEXT K
PRINT S
1 LOOP
END
3 【进制数】
给出一个正整数n(1≤N≤1023),将其化为10位二进制数,然后计算出二进制数中的“1”的个数,若1的个数为奇数,则在最高位前加上一个1,否则加上一个0,最后将在此基础上形成的11位二进制数,用3个十六进制数输出。
例 如:输入 23 化为二进制数为: 0000010111
因为1的个数是4个,在最高位前加0,得到:00000010111
输出:0H,1H,7H
再例如:输入 453 化为二进制数为: 0111000101
因为1的个数是奇数,所以在最高位前加1,得到:10111000101
输出:5H,CH,5H
【输入格式】键盘输入。一个正整数n。
【输出格式】根据形成的11位二进制数,用3个十六进制数输出。
【样例】
输入: 输出
453 5H,CH,5H
CLS
INPUT N
FOR I=1 TO 10
Y=N MOD 2:N=N\2
X$=LTRIM$(STR$(Y))+X$
IF Y=1 THEN S=S+1
NEXT I
IF S MOD 2=0 THEN X$="0"+X$ ELSE X$="1"+X$
FOR I=LEN(X$) TO 1 STEP -1
B=VAL(MID$(X$,LEN(X$)+1-I,1))
W=W+B*2^(I-1)
NEXT I
FOR I=1 TO 3
Y=W MOD 16:W=W\16
IF Y>9 THEN E$=CHR$(55+Y)+"H,"+E$ ELSE E$=LTRIM$(STR$(Y))+"H,"+E$
NEXT I
PRINT LEFT$(E$,LEN(E$)-1)
END
4 【走迷宫】
小明与许多同学一起参加了今年的“信息与未来”小学生夏令营活动。夏令营的组织者设计安排了许多有趣的活动,走迷宫就是其中的一项。
迷宫由N*N个方格组成,每个方格均被组织者事先标上了“0”或“1”(左上角第一个方格和右下角最后一个方格一定是“0”)。当你进入左上角的第一个方格中时,看到相邻的方格是“0”时则可以进入,而如果是“1”时则表示此路不通。
小明被告之:从迷宫的左上角第一个方格的入口处准备进入时,你可得到一个记有N*N分值的记分表,每经过一个标有“0”的方格,记分表将自动扣去1分,当走到右下角最后一个方格的出口处时,将显示你手中的记分表剩余的分值。
夏令营的组织者将只奖励所有参加此项活动中,记分表剩余的分值最多的营员。
【输入格式】你应当从指定的文件中读取相关数据。
每个文件的第一行是一个整数N(3≤N≤40),接下来有N行,每行均有N个由0 和1组成的数据
【输出格式】输出至屏幕,一个整数(记分表剩余的分值)
【样例】
输入 输出
4 9
0011
1000
0001
1000
OPEN " F:\DATA\2005\05T4\IN1.IN" FOR INPUT AS #1
INPUT #1, N
DIM X(500), Y(500), Z(500), A(N, N), V(4, 2)
CLS
X0 = 1: Y0 = 1
XE = N: YE = N
FOR I = 1 TO N
INPUT #1, M$
FOR J = 1 TO N
A(I, J) = VAL(MID$(M$, J, 1))
NEXT J, I
FOR I = 1 TO 4: FOR J = 1 TO 2
READ V(I, J)
NEXT J, I: DATA 1,0,0,1,0,-1,-1,0
P = 1: X(P) = X0: Y(P) = Y0: I = 0
WHILE P > 0
I = I + 1
IF I <= 4 THEN
X = X(P) + V(I, 1): Y = Y(P) + V(I, 2)
IF X > 0 AND X <= N AND Y > 0 AND Y <= N THEN
IF A(X, Y) = 0 THEN
P = P + 1: X(P) = X: Y(P) = Y: Z(P) = I: A(X, Y) = 2: I = 0
IF X = XE AND Y = YE THEN PRINT N * N - P
END IF
END IF
ELSE
I = Z(P): P = P - 1
END IF
WEND
END
我来回复