1、宁波市第 30 届中小学生计算机程序设计竞赛复赛试题( 小学 组)第 1 页 共 5 页 宁波市第 30届中小学生计算机程序设计竞赛 复赛试题( 小学组 ) 比赛时间: 2015年 3月 28日 下午 1:30 4:00 题目一览 试题名称 幸运数字 英雄卡 最强阵容 最强素数 英文代号 lucky card battle prime 程序名 lucky.cpp/pas/c card.cpp/pas/c battle.cpp/pas/c prime.cpp/pas/c 输入文件名 lucky.in card.in battle.in prime.in 输出文件名 lucky.out card.
2、out battle.out prime.out 内存限制 128MB 128MB 128MB 128MB 时限 1S 1S 1S 1S 注意: 一、 关于竞赛 中编程 语言 使用的 规定参照 中国计算机 学会 公布 的 关于 NOI系列赛编程语言使用限制的规定 。 二、 评测 环境为 windows。 宁波市第 30 届中小学生计算机程序设计竞赛复赛试题( 小学 组)第 2 页 共 5 页 1. 幸运数字 (lucky.cpp/pas/c) 【题目描述】 小李非常喜欢数字 4和 7,看到一个数字他就想快速计算出因子里面分别有几个 4和 7,但是智商捉急的他总是要算很久,喜欢编程的你能够帮助他
3、吗? 【输入】 第一行一个整数 n,表示给定的数字 。 【输出】 两个用空格隔开的数字,分别表示给定数字的因子中 4 和 7 的个数。 【样例输入】 112 【样例输出】 2 1 【 样例说明 】 112=4*4*7 【数据规模】 50%的数据, 3=n=230 100%的数据, 3=n=260宁波市第 30 届中小学生计算机程序设计竞赛复赛试题( 小学 组)第 3 页 共 5 页 2. 英雄卡 (card.cpp/pas/c) 【题目描述】 小李非常迷恋收集各种干脆面里面的英雄卡,为此他曾经连续一个月都只吃干脆面这一种零食,但是有些稀有英雄卡真的是太难收集到了。后来某商场搞了一次英雄卡兑换活
4、动,只要你 有 三张 编号连续的英雄卡,你就可以换任意编号的英雄卡。 小李想知道他最多可以换到几张英雄卡(新换来的英雄卡不可以再次兑换)。 【输入】 第一行,共一个整数 n,表示小李拥有的英雄卡数。 第二行,共 n个空格隔开的数字 ai,表示英雄卡的编号。 【输出】 输出仅有一行,共 1 个整数,表示小李最多可以换到的英雄卡 。 【样例输入】 6 3 1 2 4 4 5 【样例输出】 1 【 样例说明 】 1 2 3三张编号连续,可以换一张,换完后剩下 4 4 5,不符合兑换规则,无法继续兑换。 【数据规模】 70%数据, 1=n=1000 100%数据, 1=n=10000, 1=ai=10
5、0000 宁波市第 30 届中小学生计算机程序设计竞赛复赛试题( 小学 组)第 4 页 共 5 页 3. 最强阵容 (battle.cpp/pas/c) 【题目描述】 拿着新换来的英雄卡,小李满心欢喜 的 准备和同学们 PK一下。 他们的游戏规则非常简单,双方把自己的牌绕成一圈, 然后 指定一个起点,从该张牌开始顺时针方向往后取,谁取出的字符串 字典序更小 ( 从左到 右开始比较 , 碰到第一个不一样的 字符 进行比较 , 比较 规则为 abz) 谁将获得胜利。 具体规则可参考样例。 虽然现在小李的牌已经很好了,但是你能不能帮他快速算出起始位 置 , 使得他能 够 派出最强阵容 。 【输入】
6、第一行 n,表示共有 n张牌 。 第二行共 n个用 一个 空格隔开的 小写 字母 ,表示给定的一圈牌起始序列。 【输出】 仅一个整数, 能获得最小字典序字符串的 起点 位置 。 如果有多个位置开始的字符串一样,则输出最小的那个位置 , 且第一个位置从 1 开始 。 【样例输入】 4 b c a b 【样例输出】 3 【 样例说明 】 四个位置取出的字符串分别为 bcab,cabb,abbc,bbca,显然最小位置是 3。 【数据规模】 30%的数据, 1=n=10 60%的数据, 1=n=1000 100%的数据, 1=n=30000 宁波市第 30 届中小学生计算机程序设计竞赛复赛试题( 小
7、学 组)第 5 页 共 5 页 4. 最强素数 (prime.cpp/pas/c) 【题目描述】 小李在你帮助之下轻松战胜了他的同学们,于是满怀恶意的同学出了一个题目来为难小李,作为小李神一样的队友,你又要出力了。 素数 41能写成连续 6个素数之和: 41=2+3+5+7+11+13。 现在要求 n以内的 素数 中,能表示为最多连续素数之和的那个数 ,如果有多个答案,请输出最大的那个 素 数 。 【输入】 仅 一行 , 一个整数 n。 【输出】 输出就一个整数, 为所求的能表示为最多连续素数和的那个 素 数。 【 样例输入】 100 【样例输出】 41 【 样例说明 】 41=2+3+5+7+11+13 【数据规模】 30%的数据, 1=n=1000 60%的数据, 1=n=10000 80%的数据, 1=n=100000 100%的数据, 1=n=1000000