第25届2010年宁波中小学生程序设计竞赛 小学组 含答案

合集下载

宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(uses math子句),以及ansistring。

但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。

3.本次比赛允许使用64位整数类型:int64或qword。

1.哈夫曼编码(coding)题目描述哈夫曼编码是一种编码方式,是可变字长编码的一种,由Huffman 于1952 年提出。

该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫Huffman 编码。

简单地来说,就是出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。

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

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

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

样例输入soon样例输出o 2n 1s 12. 立方和(cubsum)题目描述现给出一个三位数,先对这个三位数的各位数字的立方求和,然后再对求出的和中的各位数字的立方求和,如此一直继续下去,判断最后能否得到一个不再变化的固定值。

如能得到一个固定值,就求出这个固定值;如果不能,则输出提示信息“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。

2010年程序设计竞赛决赛试题

2010年程序设计竞赛决赛试题

2010年程序设计竞赛决赛试题学校姓名机号___________各位同学,你好!请仔细阅读以下的有关规定,再做题目:1、每题100分,满分300分;2、考试时间120分钟,开考半小时后方可提前交卷离开;3、在D:\根目录下,建立名称为:“机号+姓名拼音缩写”的文件夹,然后将你编写的源程序文件放在该文件夹内;4、全部考试完成后,将文件夹打包压缩上传;5、上机时如有问题应及时举手请监考老师解决;编程中,不能重启电脑,做完后上交作业并举手示意,经监考老师验收后,方可离开座位;6、严格按试题要求的数据格式进行输入、输出读写操作,避免电脑自动误判。

试题1 :(源程序名:one.pas,可执行文件名:one.exe)(输入文件名:one.in,输出文件名:one.out)【问题描述】某班级为了表彰在运动会上表现优秀者,班委会决定利用剩余的班费(整数)来购买奖品。

奖品的价钱分为6元、5元、4元三种,为了能使购买的奖品数量达到最多,请设计一个程序。

【输入样例1】one.in5【输出样例1】one.outmax:1【输入样例2】one.in7【输出样例2】one.outno:【输入样例3】one.in13【输出样例3】one.outmax:3试题2 :(源程序名:two.pas,可执行文件名:two.exe)(输入文件名:two.in,输出文件名:two.out)【问题描述】有n张牌,记为1,2,3,…,n(n<1000),应当怎样排放,才能使打开第一张是1,然后把两张依次放到末尾;打开上面一张刚好是2,再依次把三张依次放到末尾,打开上面一张,刚好是3;如此继续下去,直至打开最后一张是n。

【输入样例】two.in8【输出样例】two.out1 7 52 6 8 4 3试题3:(源程序名:three.pas,可执行文件名:three.exe)(输入文件名:three.in,输出文件名:three.out)【问题描述】求m/n小数点后100位的精确值,其中m,n的取值在integer 范围。

2010程序设计大赛决赛题及参考答案

2010程序设计大赛决赛题及参考答案
}
}
4、(15分)网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。
首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件:
(1).密码长度大于等于8,且不要超过16。
(2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。
样例输入1
Linle@ACM
样例输出1
YES
样例输入2
^~^@^@!%
样例输出2
NO
C参考答案:
#include <stdio.h>
#include <string.h>
int main(){
char s[51], b[4];
int len, i, r;
scanf("%s", s);
len = strlen(s);
{
a[2]="";
switchห้องสมุดไป่ตู้i)
{
case0:
z[0] = m[0] + m[1];
a[0] ="("+m[0]+"+"+ m[1]+")";
break;
case1:
z[0] = m[0] - m[1];
a[0] ="("+m[0] +"-"+ m[1]+")";
break;
case2:
z[0] = m[0] * m[1];
printf("%10s%10s%10s\n”,”men”,”women”,”children");

宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)-副本

宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)-副本

宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(uses math子句),以及ansistring。

但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。

3.本次比赛允许使用64位整数类型:int64或qword。

1.斯诺克(snooker)题目描述镇海中学开设了很多校本选修课程,有体育类、音乐类、美术类、无线电测向、航空航海航天模型制作等,力争使每位学生高中毕业后,能学到一门拿得出手的兴趣爱好,为将来的终身发展打下基础。

在体育类的校本选修课程中,有一门课程是斯诺克台球。

斯诺克台球比赛中有21个球,其中有15个红球,6个彩球(黄、绿、棕、蓝、粉、黑)。

甲乙二人轮流打球。

打一个红球得1分,打一个彩球的得分如下:黄球:2分;绿球:3分;棕球:4分;蓝球:5分;粉球:6分;黑球:7分;最后以得分高者为胜。

简化后的打球规则如下:1.如果有红球,第奇数次必须打红球,打过的红球从桌面上拿走;2.每打一个红球后,可以任意选一个彩球打,打红球后接着打的彩球不从桌面上拿走;3. 如果桌面上已经没有红球可打了,那么按照分值从小到大的次序打彩球,这时候每打一个彩球都从桌面上拿走。

打球时犯规的判罚如下:1. 没有打中球,给对方加4分;2.没有按照打球规则打该打的球,即打中了错误的球时:(1)如果这个错误的球的分值大于4,那么给对方加等于这个球的分值;(2)如果这个错误的球的分值不大于4,那么给对方加4分;打中的错误球不从桌面上拿走。

请统计某局比赛进行到现在为止的比分。

输入输入文件snooker.in的第一行有二个整数n和m,表示甲打了n个球,乙打了m个球。

2010年慈溪市小学生程序设计竞赛

2010年慈溪市小学生程序设计竞赛

2010年慈溪市小学生计算机程序设计比赛复赛试题比赛时间:2010年12月19日上午8:30——10:30题目概览注意事项1、每位选手都应先在E盘根目录下建立自己的答卷文件夹,该文件夹的名称为自己的考号。

2、每位选手最终所提交的所有文件都必须存放在自己的考生文件夹内,凡错放及以书面形式提交的答卷一律无效。

3、每题提交的解答都必须包括以下两个文件:即源程序文件与经编译后生成的可执行文件,其名称必须与各题中所规定的相一致。

4、程序中必须采用文件读写的方法来实现数据的输入和结果的输出,即程序运行时所需输入数据应从题中指定的输入文件中读取(而不得采用键盘输入的方式),程序运行结果应写入到题中指定的文件中(而不是输出到屏幕上)。

5、用于提供输入数据和记录输出结果的文件的名称都已在题目中具体规定,选手程序在调用它们时不得为其指定任何特别的路径。

6、复赛用机房电脑C盘和D盘均已设置成开机还原保护,选手切勿把程序放入C盘和D盘中,否则如果重新开机后程序将不复存在。

7、比赛结束后请勿关机。

1、谁是冠军(winner.pas/exe)【问题描述】小Q自从参加某小学计算机兴趣小组以来,对编程产生了浓厚的兴趣。

他发现用计算机编程不但可以训练思维,还可以解决学习和生活中的一些实际问题。

比如,世界杯足球赛时,小Q就经常把其中的一些球队列出来,组成一个小团队,然后根据规则计算积分,并根据积分的高低看看这个团队内谁是冠军。

例如某次足球赛的积分规则如下:每胜一局得三分,每平一局得1分,每输一局扣1分,积分最高者为冠军。

小Q就想编这样一个程序,输入若干球队的成绩,就能自动求出这个团队中谁是冠军。

你也能编一个吗?【输入数据】输入文件winner.in:文件有两行,第一行是输入的球队数,第二是每队的比赛成绩,依次为球队编号、胜局数、平局数、负局数(均为小于1000的整数),每个数据间用一空格隔开。

输入的数据保证积分各不相同。

【输出数据】输出文件winner.out :结果输出到文件中,只有一个数,就是冠军队的编号。

宁波市第 届中小学生计算机程序设计竞赛复赛试题

宁波市第 届中小学生计算机程序设计竞赛复赛试题

输入文件名 average.in
suanpan.in
findbrush.in
输出文件名 average.out
suanpan.out
findbrush.out
内存限制
128MB
128MB
128MB
时限
Байду номын сангаас1S
1S
1S
分值
100
100
100
结 果 比 较 方 全文比较(过滤行末空格及文件尾的空行)

射击 shooting shooting.pas/c/cpp shooting.in shooting.out 128MB 1S 100
第1页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
第一题、平均值
(average.pas/c/cpp)
【问题描述】 豆豆从小对数字很敏感,小学里就显露出超常的能力,老师为了防止他太过骄傲,给了
他一个可怕的难题:求一串给定整数某一段的平均值,保留 3 位小数。每个整数都是小于 2^31 的。老师做梦也没想到豆豆全都回答出来了,原来豆豆有一个擅长编程的朋友你。 【输入】
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第 31 届中小学生计算机程序设计竞赛 复赛试题(小学组)
比赛时间:2016 年 3 月 27 日下午 13:30-16:00
一、题目一览
试题名称 平均值
拨算盘
找画笔
英文代号
average
suanpan
findbrush
程序名
average.pas/c/cpp suanpan.pas/c/cpp findbrush.pas/c/cpp

宁波市第24届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第24届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(uses math子句),以及ansistring。

但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。

3.本次比赛允许使用64位整数类型:int64或qword。

1.甜蜜的烦恼(space)题目描述【问题描述】最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。

比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。

现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。

真是又快又准,太爽了!今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。

她想这容易解决,继续查找“李达”,没有?查找“李达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。

输入【输入】输入文件space.in的第一行只有一个正整数n,表示名单中共有n个人的姓名。

第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。

输出【输出】输出文件space.out有n+1行,第一行只有一个正整数,表示总共删除的空格数。

第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。

第24届2009年中小学生计算机程序设计竞赛 小学组 含答案

2009年宁波市第24届中小学生计算机程序设计竞赛小学组初赛试题(说明:答案请写在答题卷上。

考试时间120分钟,满分100分)一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错、不选或多选均不得分)1、若已知一个栈的入栈顺序是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若P1是n,则Pi是( )A)i B)n-1 C)n-i+1 D)不确定2、满二叉树的叶结点个数为N,则它的结点总数为()。

A. NB. 2 * NC. 2 * N – 1D. 2 * N + 1E. 2N – 13、二叉树T,已知其前序遍历序列为1 2 4 3 5 7 6,中序遍历序列为4 2 1 5 7 3 6,则其后序遍历序列为()。

A. 4 2 5 7 6 3 1B. 4 2 7 5 6 3 1C. 4 2 7 5 3 6 1D. 4 7 2 3 5 6 1E. 45 26 37 14、完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B.3C.5D. 2E. 65、布尔型(boolean)和字符型(char)变量所占用的存储空间大小的关系是(A)布尔型大(B)字符型大(C)一样大(D)因操作系统而异6、用八位二进制可以表示的最大十进制数是:(A)99999999 (B)11111111 (C)255 (D)2567、有一个10行10列的对称矩阵,采用压缩存储方式来存储该矩阵的上三角元素(行优先次序),第1行第1列的存储地址为s,每个元素占用2个存储空间,则第8行第8列元素的首地址为:(A)s+100 (B)s+98 (C)s+72 (D)s+708、已知一棵二叉树的叶子结点数为100,则有二个子女的结点数为:(A)101 (B)100 (C)99 (D)不能确定9、已知一棵二叉树的前序遍历为JFDECBHAIG,中序遍历结果为DFEJAHBICG,则这棵二叉树的深度为:(A)6 (B)5 (C)4 (D)310、在Pascal语言中,表达式(23 or 2 xor 5)的值是()。

小学生计算机程序设计竞赛试卷及参考答案

小学生计算机程序设计竞赛试卷及参考答案小学生计算机程序设计竞赛试卷及参考答案1、下列表达式的值为FALSE的是()。

A. Not(‘90’’100’)B.Round((Abs(-10.5))) 10C. Odd(True(98.49))D.Ord(Chr(Pred(8))) =72、判断变量ch的值是否为大写字母,下列表达式正确的是()。

A. ch =’A’and ch =’Z’B.’A’=ch =’Z’C.(ch =A)and(ch =Z)D. not(ch ’A’)or(ch ’Z’)3、表达式Chr(Ord(‘a’)+5))的值是()。

A.’f’B.‘E’C.102D.1014、与十进制数2014等值的二进制数是()。

A.11111011110B.11110011110C.10111111110D.111111110105、[x]补码=10011101,其原码为()。

A.11001111B.11100100C.11100011D.011001016、十进算术表达式:5*512+7*64+4*8+7的运算结果,用二进制表示为()。

A. 101111100111B.111111100101C. 111110100101D.1111110110117、(2014)16 + (924)10的结果是()。

A. (9036)10B. (23B0)16C. (9130)10D. (100011000110)2二、计算下列函数(1*15)1、Sqr(7)的值为()。

2、Round(19.6)的值为( )。

3、Round(14.4)的值为( )。

4、int(-5.7)的值为( )。

5、Abs(-4.1)的值为( )。

6、-37 mod 6的值为( )。

7、’A’’a’的值为()。

8、odd(25)的值( )。

9、Not(17-5 13)的值为( )。

10、(11 10)and(7 =7)的值为( )。

11、Round(-11.1)的值为( )。

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

宁波市第30届中小学生计算机程序设计竞赛小学组初赛试题(阐明:答案请写在答题卷上。

考试时间120分钟,满分100分)一、选取题(每题有且仅有一种对的答案,选对得1.5分,选错、不选或多选均不得分)1.下列不能描述鼠标性能指标是(A)刷新率(B) CPI (C) DPI (D) UPI2.下列关于4G网络说法中错误是(A)TD-LTE 是其中一种制式(B) FDD-LTE是其中一种制式(C) 4G是集中3G与WLAN与一体(D) 理论上其宽带速度可以达到1000MB每秒3. 下列关于CES中Intel公司新推出CPU产品说法中错误是(A) 是14nm工艺芯片(B) 代号为Broadwell(C) 比Skylake架构更为先进(D) 将一方面用于笔记本和移动领域4. 15以内正整数(包括15) 互质数共有多少对?(a,b)和(b,a)算同一对。

(A) 71 (B) 72 (C) 73 (D) 745. 给定序列a=(5,3,1,2,4),每次可以互换序列中两个数,代价为这两个数和。

那么将a排序最小代价是多少(A) 18 (B) 19 (C) 17 (D) 206. 一棵有根树中,每个非叶节点均有三个儿子,所有叶节点深度相似。

若这棵树中存在一条最长途径有9个结点,则这棵树共有多少节点(A) (– 1)/2 (B) (C) (– 1)/2 (D)7. 十进制数174转化成二进制是(A) 10011110 (B) 10010011 (C) 10110000 (D) 101011108. 已知A=True,B=False,C=True,下列逻辑表达式中值为真是(A) (A∨C)∧B (B) (A∧B)∨(B∧C)(C) (A∨C)∨(A∧(B∨┐C) (D) (┐(A∧C))∨(B∧C)9.如下哪个顺序描述了一种编译器(A)语法分析器,语义分析器,词法分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器关于代码生成器(B)语法分析器,语义分析器,词法分析器,中间代码生成器,机器关于代码优化器,代码生成器,机器无关代码优化器(C)词法分析器,语法分析器,语义分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器关于代码优化器(D)词法分析器,语法分析器,语义分析器,中间代码生成器,机器关于代码优化器,代码生成器,机器无关代码优化器10.考虑所有只由0、1、2构成字符串。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年宁波市第25届中小学生程序设计竞赛小学组初赛试题一、选择题(每题2分,共30分。

每小题只有唯一一个正确答案)1、在宁波市中小学生程序设计比赛复赛(上机编程)时,以下不能使用的编程语言是:(A)Turbo Pascal (B)Free Pascal (C)C (D)C++2、在Free Pascal中按功能键F7或F4时,以下叙述正确的是:(A)F4逐条语句执行(包括子程序),F7运行至光标位置(B)F7逐条语句执行(包括子程序),F4运行至光标位置(C)F4逐条语句执行(不包括子程序),F7运行至光标位置(D)F7逐条语句执行(不包括子程序),F4运行至光标位置3、使用高级语言编写的程序称之为:(A)源程序(B)编辑程序(C)编译程序(D)链接程序4、如果自己的程序进入了死循环,应当按什么键终止?(A)Ctrl+C (B)Ctrl+D (C)Alt+C (D)Alt+D5、参加宁波市中小学生程序设计比赛复赛(上机编程)时,以下哪种行为是允许的?(A)访问互联网或局域网(B)使用U盘或光盘(C)使用自带的草稿纸(D)考试时发现机器有问题,举手示意监考人员处理6、参加宁波市中小学生程序设计比赛复赛(上机编程)时,你有一个程序被判0分。

你发现程序其实是正确的,但存在以下问题,提出申诉,以下哪个申诉会被接受?(A)源程序文件名和存放源程序的目录名错误(B)只是存放源程序的目录名错误,源程序文件名是正确的(C)存放源程序的目录名正确,源程序文件名是错误的(D)根据比赛规则,以上申斥都不会被接受7、在Free Pascal语言,以下关于各种数据类型占内存空间大小的描述错误的是:(A)每个intege型占2个字节(B)每个longint型占4个字节(C)每个boolean型占2个字节(D)每个extended型占10个字节8、关键码相同的二个元素,原来在排在前面的还能保证排在前面,这种排序算法我们称它是稳定的。

冒泡排序、选择排序、插入排序中,一般意义上是稳定的有几种:(A)1 (B)2 (C)3 (D)09、在Free Pascal中编辑当前源程序时,可以使用快捷键Ctrl+F7增加调试程序时监视的变量,但如果不小心错按为Ctrl+F6时,会将当前源程序窗口隐藏起来。

此时,可以使用菜单命令“Windows/List”调出Windows List对话框,在该对话框中选中隐藏的当前正在编辑的源程序,然后按下面哪个命令按钮可以显示当前正在编辑的源程序?(A)Ok (B)Not Hide (C)Show (D)Delete10、结构化程序设计的三种基本控制结构为顺序结构、选择结构和循环结构,以下说法正确的是:(A)三种结构都是基本结构,内部不能再有其它结构(B)三种结构都是基本结构,内部除了允许嵌套同一种结构外,不能再有其它结构(C)选择结构和循环结构内部可以嵌套有其它结构,顺序结构不可以嵌套其它结构(D)三种结构内部都可以嵌套其它结构11、以下属于计算机的基本指令的是:(A)数值和逻辑运算指令(B)存储和输入输出指令(C)控制和转移指令(D)以上都是12、以下属于汉字输出时使用的编码的是:(A)国标码(B)区位码(C)字形码(D)五笔字形13、以下存储介质中,一般说来存取速度最快的是:(A)硬盘(B)内存(C)U盘(D)光盘14、以下主要用来网页制作的是:(A)BASIC (B)Pascal (C)FrontPage (D)HTML15、标准ASCII码最多能表示的字符个数是:(A)128 (B)64 (C)256 (D)8二.问题求解(每题5分,共10分)1、一副扑克牌除去大小王外,有52张牌。

其中有黑桃(Spade)、红心(Heart)、方块(Diamond)、梅花(Club)四种花色,每种花色点数从小到大各有13张,它们是:2、3、4、5、6、7、8、9、10、J、Q、K。

在上述52张中任取5张,取得炸弹(four of a kind,即四张点数相同的牌加一张另外点数的牌)的取法数有13*48=624种;取得辅鲁(full house,即三张点数相同另加二张点数相同牌)的取法数有多少种?请注意,二种取法中,只要有一张牌花色不同或点数不同,这二种取法就是不同的。

2、有若干堆硬币,甲乙二人参加游戏,游戏规则如下:(1)由甲开始,二人轮流取硬币,每次取时只能从某一堆中取若干个硬币,可以把该堆硬币全部取完,最少可以只取一个硬币,但不能不取硬币。

(2)最后取完最后一个硬币的人为胜者。

比如一开始有二堆硬币,第一堆1枚,第二堆2枚,有几种取法:(1)甲取第一堆1枚,乙取第二堆1枚,甲取第二堆1枚,甲获胜!(2)甲取第一堆1枚,乙取第二堆2枚,乙获胜!(3)甲取第二堆1枚,乙取第一堆1枚,甲取第二堆1枚,甲获胜!(4)甲取第二堆1枚,乙取第二堆1枚,甲取第一堆1枚,甲获胜!(5)甲取第二堆2枚,乙取第一堆1枚,乙获胜!显然,当甲先取第二堆1枚时,甲能获胜!当甲采取其它取法时,当乙取对时,甲会失败的。

但如果一开始二堆硬币数都为2枚,则甲无论在哪一堆中取多少个,乙可以在另外一堆中取同样多个,乙获胜,甲失败。

现在有三堆硬币,第1堆有2枚硬币,第2堆有4枚硬币,第3堆有5枚硬币。

问甲先取,在大家都使用最佳方法的情况下,甲能否获胜?如果甲能获胜,请写出第一次在第几堆取多少枚硬币才能获胜?如果不能获胜,则只要写上“No”。

三.阅读程序,求程序运行输出结果(每题8分,共32分)第1题:program xx2010_1;var i,j,s:longint;prime:boolean;beginfor i:=2 to 20 do beginprime:=true;for j:=2 to i-1 doif i mod j=0 then beginprime:=false;break;end;if prime then s:=s+1;end;writeln(s);【输出】:______________end.第2题:Program xx2010_2;var a,b,c,d,n,i,j:longint;find:boolean;f:array[0..9]of longint;beginf[0]:=2;f[1]:=3;f[2]:=5;f[3]:=7;f[4]:=11;f[5]:=13;f[6]:=17;f[7]:=19;f[8]:=23;f[9]:=29;readln(a,b,c,d);n:=10;a:=((f[a]*f[b]-f[c]*f[d]) mod n+n) mod n;b:=((f[b]* f[c]-f[d]* f[a]) mod n+n) mod n;c:=((f[c]* f[d]-f[a]* f[b]) mod n+n) mod n;d:=((f[d]* f[a]-f[b]* f[c]) mod n+n) mod n;writeln(a,' ',b,' ',c,' ',d);end.【输入】:2 3 5 7【输出】:______________第3题:Program xx2010_3;var a:array[1..30]of longint;s,n,i,x,y,z:longint;c:char;beginreadln(x,y);readln(z);n:=0;while z>0 do beginn:=n+1;a[n]:=z mod 10;z:=z div 10;end;s:=0;for i:=n downto 1 do s:=s*x+a[i];writeln(s);n:=0;while s>0 do beginn:=n+1;a[n]:=s mod y;s:=s div y;end;for i:=n downto 1 do write(a[i]);writeln;第4题:Program xx2010_4;var f:array[1..46]of longint;a:array[1..100]of longint;x,y,z,i,j,n,count:longint;function find(i,h,x:longint):longint;var m:longint;beginif i<3 then find:=0else beginm:=h+f[i-1]-1;count:=count+1;if x=a[m] then find:=melse if x<a[m] then find:=find(i-1,h,x)else find:=find(i-2,m+1,x);end;end; beginf[1]:=1;f[2]:=1;for i:=3 to 46 do f[i]:=f[i-1]+f[i-2]; readln(n,x,y);for i:=1 to n do a[i]:=3*i-1; i:=1;while f[i]-1<n do inc(i);for j:=n+1 to f[i]-1 do a[j]:=maxlongint; count:=0;j:=find(i,1,x); writeln(j,' ',count);count:=0;j:=find(i,1,y); writeln(j,' ',count); end.四.程序填空(第1题每空2分,第2题每空3分,共28分)1、人数统计有二幢高楼,已知:(1)第一幢高楼的各层上男性人数与第二幢高楼的同一层上的男性人数的差; (2)第一幢高楼的各层上女性人数与第二幢高楼的同一层上的女性人数的差; 求第一幢高楼的各层上总人数与第二幢高楼的同一层上的总人数的差; 输入:第1行二个整数n1和n2。

第2行至第n1+1行,每行二个整数a1和b1。

表示第b1层男性人数的差额为a1。

第n1+2行至第n1+n2+1行,每行二个整数a2和b2。

表示第b2层女性人数的差额为a2。

输出:每行二个整数a 和b ,表示第b 层总人数的差额为a 。

请注意:(1)输入时,如果某一层上二幢楼均没有男性(或女性),则不输入该层的差额情况(2)输出时,如果某一层上二幢楼均没有人,则不输出该层的差额情况 (3)输入和输出时,均按照层数递增的次序。

请将程序补充完整。

Program xx2010_5;var a1,a2,b1,b2,a,b:array[1..100]of longint;n1,n2,n,i,j:longint;beginreadln(n1,n2);for i:=1 to n1 do read(a1[i],b1[i]);for i:=1 to n2 do read(a2[i],b2[i]);i:=1;j:=1;①;while ②do beginif b1[i]=b2[j]then begina[n]:=③;b[n]:=④;i:=i+1;j:=j+1;n:=n+1;end else if b1[i]<b2[j] then begina[n]:=a1[i];b[n]:=b1[i];i:=i+1;n:=n+1;end else begina[n]:=a2[j];b[n]:=b2[j];j:=j+1;n:=n+1;end;end;while i<=n1 do begina[n]:=a1[i];b[n]:=b1[i];i:=i+1;n:=n+1;end;while j<=n2 do begina[n]:=a2[j];b[n]:=b2[j];j:=j+1;n:=n+1;end;⑤;for i:=1 to n dowriteln(a[i],' ',b[i]);end.2、表达式求值堆栈是一种后进先出的数据结构,实际编程时,常常以数组来模拟堆栈。

相关文档
最新文档