谁有2005,2006,2007年江苏小学《信息与未来》复赛题?
计算机操作项目之一:编程试题
1,回文的个数
如果一个正整数从左往右读,从右往左读,叫做回文。比如3,121,3223,12021都是回文。
输入:任何给定的正整数n (0
Output:一个正整数,表示[1,n]之间的回文数。
输入格式键盘输入,无需合法性检查。
输出格式输出到屏幕上。
样品
输入输出
325 41
2.一致
给定两个长度相同的字符串A$和B$如果A$中的一个字符出现的次数与B$中的一个字符出现的次数相同,则称这两个字符对应;如果A$中的所有字符分别对应B$中的所有字符,则两个字符串之间存在对应关系。要求计算两个字符串之间所有对应关系的个数(如果没有对应关系,输出为0)。
比如:a $ = "ABAC "和b $ = "3132 ",那么它们之间就有两种对应关系,即:
a 3 a 3
b 1 b 2
c 2 c 1
输入格式键盘输入。只有两行,每行给出一个字符串。每个字符串由小写字母或数字组成,字符串长度不超过20,字符串中最多有10个不同的字符。没有必要检查输入的正确性。
输出格式为正整数,表示输入字符串之间对应关系的个数。
样品
输入:输出
abad 2
1231
三元数
给定一个正整数n(1≤N≤1023),将其转换成10位的二进制数,然后计算二进制数中“1”的个数。如果1的数字是奇数,则在最高位前加一个1。
例如,输入23的二进制数是00000101111。
因为1的数是4,所以在最高位前加0得到:00000101111。
输出:0H,1H,7H。
又例如,输入453的二进制数是0111000101。
因为1的数是奇数,所以在最高位前加1得到:101110010101。
输出:5H,CH,5H。
输入格式键盘输入。正整数n。
输出格式基于二进制数11,输出三个十六进制数。
样品
输入:输出
453 5H,CH,5H
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
2006年江苏省“信息与未来”小学夏令营活动方案设计试题
话题一:为夏令营选一名旗手。
问题描述
每年,小学生“信息与未来”夏令营的组织者都设计和安排了许多有趣的活动。去年,小明和很多同学一起参加了迷宫,小明是其中之一。他付出了很大的努力,取得了很好的成绩。
今年,小明兴致勃勃地来到了营地。首先,他看到了主办方贴的一张海报:为本次夏令营选旗手!由于报名的营员很多,需要让N个参与者全部坐成一圈,从1 ~ N开始顺时针编号,从1的人开始报数1 ~ m,向M报数的人会绕圈,然后从下一个人开始从1报数到M。这样下去,直到只剩下一个人,这个夏令营的旗手。
小明渴望成为旗手。你能编一个程序帮他实现愿望吗?如果可能的话,你的程序应该输出圈里小明的个数。
输入:用键盘输入两个整数N,M (2≤N,M≤100,N≥ M),中间用逗号隔开。
输出:输出到屏幕上。一个整数,表示圈里小明的个数。
示例:
输入输出
9,3 1
问题2:找到最长的有序字符串
问题描述
我们把像“ABC”或“ACEG”这样的字符串称为良序字符串(因为它们是用ASCII码排列的),而像“ACB”或“ACCD”或“AGCD”这样的字符串不能称为良序字符串。
写一个程序,在一个输入的字符串中找到最长的有序字符串,并输出它的长度。
输入:文件读取一串字符(长度≤30)。
输出:输出到屏幕上。最长的有序字符串的长度。
示例:
输入输出
2345135791246823456 5
主题3加工和制造模式
问题描述
公益青少年科学工作室由苏州市科学技术协会创办,旨在通过参与、实践、体验,培养青少年的实践能力和创新意识。今年的夏令营安排了一个活动让营员们练习,要求在导师的指导下使用工作室提供的锯床和材料加工制作各种模型。
活动中,两个营员组成一组做n个模型。每个模型的制作都需要一些时间,而且只能一个人完成。例如,当N=4时,四个模型的完成时间分别为:8,11,13,21分钟。此时,两者具有各种完成方案:
方案一:A制作前三块需要32分钟,B制作第四块需要265,438+0分钟,它们的总完成时间为32分钟;
方案二:A做1和4个棋子需要29分钟,B做2或3个棋子需要24分钟,两者合计完成时间为29分钟。
在确定N和每个型号的生产时间后,现在请找出一个完成时间最少的方案。
输入:读入文件。第一行是整数N,代表N个型号(2≤N≤100)。
第二行包含n个整数(≤10000),表示制作n个模型所用的时间。数字用逗号分隔。
输出:输出到屏幕上。整数(表示最小时间)。
示例:
输入输出
3 21
12,18,9
问题4:整数的拼接
问题描述
有n个整数(3≤n≤10),可以拼接在一起形成一个最大的整数。
比如n=3,三个整数分别是21,7,34,拼接后最大的整数是73421。
输入:读入文件。第一行是整数n,表示有n个整数。
在第二行中,n个整数用逗号分隔。
输出:输出到屏幕上。拼接后的最大整数。
示例:
输入输出
3 73421
21,7,34
问题5 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 1 100 1 1101111165438。
这些二进制数可以分为两类:
A类数:数≥1的二进制表示中零的个数,如2,4,8,9。
B类数:数的二进制表示中零的个数小于1,如1,3,5,6,7。
当n给定时,计算A类数的个数。
输入:
在键盘上输入整数n。
输出:
输出到屏幕上。整数。
示例:
输入输出
9 4
2007年,江苏省“信息与未来”小学夏令营活动方案设计试题
计算机操作项目之一:编程试题(完成时间:210分钟)
话题一:为夏令营选一名旗手。
问题描述
一年一度的江苏省小学生“信息与未来”夏令营又开始了。和每年一样,主办方设计安排了很多有趣的活动,其中第一项依然是为本次夏令营选旗手!因为这是一个非常光荣的角色,所以还是有很多营员报名参加夏令营的护旗手比赛,所以营委规定:
把n个人排成一排,编号为1 ~ n,从1的人开始向前数1 ~ m,向M汇报的人出列,然后从下一个人开始从1继续数,出列到M。(注:向尾部一个方向汇报时,继续向相反方向汇报)。这样下去,直到只剩下一个人,这个夏令营的旗手。
小明渴望成为旗手。你能编一个程序帮他实现愿望吗?如果可能的话,你的程序应该输出小明的号码。
输入:输入两个整数N,M(2≤N,M≤300,N≥ M),中间用逗号隔开。
输出:输出到屏幕上。一个整数,表示队列中小明的数量。
示例1:
输入输出
9,3 8注:出队顺序为:3,6,9,5,1,7,2,4。
示例2:
输入输出
8,3 8注:出队顺序为:3,6,7,2,5,1,4。
问题2整数分割
问题描述
将一个数字为L(4≤L≤10)的自然数n分成四段,使每段对应的数的乘积最小。能不能写个程序实现?输入:用键盘输入自然数n。
输出:输出到屏幕上。一个整数,最小乘积。
示例:
输入输出
321427 2268注:3*2*14*27=2268。
问题3:压缩数据的解压缩
问题描述
从输入文件中读取一些压缩数据,解压缩,然后根据题目要求输出结果。
来到屏幕前。
输入:
文件读入。
它的第一行是正整数k,表示后面的数据被分成k段。
第二行是k段的压缩数据串,每段有两种格式(数字之间用逗号分隔):如果每段的1的数字n为正,则该段只有两个数字,解压缩操作是将该段的第二个数字重复n次;
如果每个段中1的编号n为负,那么该段的编号为|n|+1,其解压缩操作是从第二个编号开始重复该段的编号|n|一次。(注意:|n|表示取n的绝对值)
输出:
输出到屏幕上。解压后得到的整数串上所有数字的和。
示例:文件读取:5
3 ,2, -5, 0, 1, 2, 3, 4, 5, 1,5, 0, -4, 4, 3, 2, 1
输出:31注:解压后得到的整数串为222012341110004321。
问题4:找出数字上的数字。
问题描述
给两个整数n和k,求n的k次幂的结果中十位数和个位数。
输入:输入两个整数N,K(2≤N,k ≤ 10000000)。输出:输出到屏幕上。
两个数(n的k次方的结果中分别代表十位数和个位数的数,用空格隔开)。
示例:
输入输出
注:3 ^ 6 = 729
问题5:移动卡片
问题描述
有n叠牌(2≤n≤200)排成一行,编号分别为1,2,…n。已知每堆牌都有一定的牌数,牌数之和是n的倍数,移动每堆中的任意一张牌,使每堆牌数相同,移动次数最少。
移动规则:
一次可以移动任意数量的纸张。1桩可以移到第二桩,第二桩可以移到1桩或第三桩。。。。。。第N个堆只能移动到n -1堆。
例如,当n=4时:
堆栈编号1 2 3 4纸张编号3 5 4 8
搬家有很多种方式,其中一种是:
①第二堆移动2块到1堆变成:5 3 4 8 ②第四堆移动3块到第三堆变成:5 3 7 5 ③第三堆移动2块到第二堆变成:5 5 5 5。
走了三步后,每一堆变成了五堆。
输入:读入文件。第一行是整数n。
第二行中的n个整数,用逗号分隔。
输出:
输出到屏幕上。整数(代表最小移动次数)。
示例:
输入输出
四
3,5,4,8 3