您的当前位置:首页正文

第十一届绍兴市少儿信息学竞赛复赛试题.pdf

2023-04-07 来源:我们爱旅游
第一届宁波――绍兴少儿信息学联赛

(小学组 PASCAL 语言)

第一届宁波――绍兴少儿信息学联赛

暨第28届宁波市中小学生计算机程序设计竞赛

第 11 届绍兴市少儿信息学竞赛

复赛试题

(2013 年 4 月 13 日下午 1:30-4:00)

一、题目一览

中文题目名称 哈夫曼编码 立方和 智力大奖赛 求素数 prime 英文题目名称 coding cubsum energy energy.in 输入文件名 coding.in cubsum.in prime.in prime.out 输出文件名 coding.out cubsum.out energy.out 每个测试点时限 1 秒 1 秒 1 秒 1 秒 10 测试点数目 10 10 10 10 每个测试点分值 10 10 10

二、比赛目录结构示例 选手比赛时,需在本机为每题建立对应的题目目录,目录名称

选手根据题目要求,将自己提交的源程序,放在该题的题目目录下。 每位选手把自己提交的源程序连同要求的目录结构,存入 D 盘根目录中。(只递交

源程序,测试时以源程序为准)

例如:假设试卷中有 cashier、dune、manhattan 三题,选手 sx1001 使用 Pascal

答题,其最终提交的文件为 cashier.pas、dune.pas、manhattan.pas,则该选手提交的

目录结构如下所示:

|---sx1001/

|---cashier/

|---cashier.pas

|---dune/

|---dune.pas

与题目英文名称相同。

主办:宁波市科协、教育局

绍兴市科协、教育局

承办:宁波市青少年科技中心、青少年科技辅导员协会

绍兴科技馆、市教育教学研究院、市互联网协会

- 1 -

第一届宁波――绍兴少儿信息学联赛

(小学组 PASCAL 语言)

|---manhattan/ |---manhattan.pas

三、特别提醒 1、务必看清题目,严格按照试题所要求的格式输

入、输出。

2、比赛开始前应先检查本机能否正常使用,如有问题可向监考老师提出。比赛结

束后应及时离开机房,但注意不要关机。

1、哈夫曼编码(文件名:coding.pas)

问题描述:

哈夫曼编码是一种编码方式,是可变字长编码的一种,由 Huffman 于 1952 年提出。 该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编 码,一般就叫 Huffman 编码。简单地来说,就是出现概率高的字符使用较短的编码,反

之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从

而达到无损压缩数据的目的。

现在请你模拟这样的原则对给定的一个字符串进行字母统计。

输入文件:

输入文件 coding.in,只有一行,是一个字符串,由小写英文字母组成,长度不超过

255 个字符。

输出文件:

输出文件 coding.out,有若干行,每行有两部分组成:一个字母和该字母出现的频 率,中间用一个空格分隔,并按频率高低排列,频率相同时则按字母的 ASC 码的先后 顺序排列。

输入样例:

soon

输出样例:

o 2 n 1 s 1

第一届宁波――绍兴少儿信息学联赛

(小学组 PASCAL 语言)

2、立方和(文件名:cubsum.pas)

问题描述: 现给出一个三位数,先对这个三位数的各位数字的立方求和,然后再对求

出的和中

的各位数字的立方求和,如此一直继续下去,判断最后能否得到一个不再变化的固定值。 如能得到一个固定值,就求出这个固定值;如果不能,则输出提示信息“error”。另外 请注意,在求解过程中,若某一次求和过程中得到的值超过三位数,则取该数的低三位 继续往下运算……

例如,对于三位数 111,则第一次计算应是 1×1×1+1×1×1+1×1×1=3,第二次

计算应是 0×0×0+0×0×0+3×3×3=27,第三次计算应是 0×0×0+2×2×2+7×7× 7=351,第四次计算应是 3×3×3+5×5×5+1×1×1=153,第五次计算应是 1×1×1+5

×5×5+3×3×3=153,与第四次计算的结果相同,这时可不再计算,输出固定值 153。

亲爱的同学,请你也来计算一下。

输入文件:

输入文件 cubsum.in,只有一行,是一个三位数。

输出文件:

输出文件 cubsum.out,也只有一行,如能得到一个固定值,则输出这个固定值;如

不能,则输出一个提示信息“error”。

输入样例 1:

111

输出样例 1:

153

输入样例 2:

102

输出样例 2:

error

第一届宁波――绍兴少儿信息学联赛

(小学组 PASCAL 语言)

3、智力大奖赛(文件名:energy.pas)

问题描述: 一年一度的校园智力大奖赛是小明最喜爱的活动,今年的比赛中学校新

设了一个智

取能量棒的项目,小明很想参加。这个项目的比赛规则是这样的:考官在一个仪器上输 入一个数,仪器屏幕上就会出现一个由许多能量棒组成的大三角形(一个大三角形有若 干个小三角形组成),已知每根能量棒的长度都是一样的,每个小三角形由三根能量棒 组成,若谁能快速答出其中小三角形的个数和能量棒的总个数,则谁就赢得了比赛,这

些能量棒作为奖励也就属于他了。现在小明想邀请你和他一起参加这项比赛。 输入文件:

输入文件 energy.in,只有一行,有一个整数 N,表示大三角形的层数(N≦45000)。

输出文件:

输出文件 energy.out,有二行。 第一行只有一个数,表示小三角形的个数; 第二行也只有一个数,表示能量棒的个数。

输入样例:

8

输出样例:

64 108

数据范围:

在 40%的数据中,1≦N≦150 在 70%的数据中,1≦N≦30000 在 100%的数据中,1≦N≦45000

第一届宁波――绍兴少儿信息学联赛

(小学组 PASCAL 语言)

4、求素数(文件名:prime.pas)

问题描述:

现给你 N 个 0~9 的数字并排成了一列,同时还给出了一个取数长度 L。规定先从

第 1 个数字开始从左往右连续取 L 个数字,拼成一个长度为 L 位(最高位为 0 的 L-1 位

数除外)的数,然后从第 2 个数字开始从左往右连续取 L 个数字……,这样,最后最多 可以得到 N-L+1 个 L 位数。现在请你将这些 L 位数中的素数按从小到大的顺序输出(如

果产生重复,只需输出一个)。

输入文件:

输入文件 prime.in,共有二行。

第一行为 N 和 L,中间用空格隔开。(1≦N≦100,1≦L≦7)

第二行为 N 个 0~9 的数字,中间用空格隔开。

输出文件:

输出文件 prime.out,只有一行,含全部满足条件的素数,中间用逗号隔开。

样例输入:

10 3

8 9 1 0 2 3 5 4 7 6

样例输出:

547

因篇幅问题不能全部显示,请点此查看更多更全内容