宁波市第26届中小学生程序设计竞赛试题
宁波市第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-2016年复赛后三题

2010-2016后三题31届201630届201529届2014马农题目描述兄弟两回到草原,将可以养马的区域,分为N*N的单位面积的正方形,并实地进行考察,归纳出了每个单位面积可以养马所获得的收益。
接下来就要开始规划他们各自的马场了。
首先,两人的马场都必须是矩形区域。
同时,为了方便两人互相照应,也为了防止马匹互相走散,规定两个马场的矩形区域相邻,且只有一个交点。
最后,互不认输的两人希望两个马场的收益相当,这样才不会影响他们兄弟的感情。
现在,兄弟两找到你这位设计师,希望你给他们设计马场,问共有多少种设计方案输入格式:第一行一个整数N,表示整个草原的大小为N*N。
接下来N行,每行N个整数A(i,j),表示第i行第j列的单位草地的收成。
(注意:收益可能是负数,养马也不是包赚的,马匹也可能出现生病死亡等意外。
)输出格式:输出符合两人要求的草原分配方案数。
输入样例#1:31 2 34 5 67 8 9输出样例#1:2N<=50,-1000<A(I,J)<100028届2013分数统计【题目描述】在统计完朋友情况之后,小明又对大家的毕业学校产生兴趣,但是他觉得单纯的统计人数是一件非常无聊的事情,于是他设计了一个算法,同一所学校毕业的学生,第1个将获得1分,第2个获得2分,第3个获得4分…,第i个将获得2 i-1 分,总分就是这所小学的得分,小明想知道得分最高的学校有多少分。
【输入】输入文件 score .in的第一行有两个整数n和m,n表示总人数,m表示已知的同校关系数量。
接下来n行,每行有2个以空格隔开的整数a和b,表示a和b是来自同一所学校,a和b 均为1到n之间的整数。
不会给出重复的信息。
【输出】输出文件 score .out 只有一行,为所有学校中的最高得分。
最后得分可能会很大,你只需要输出后 100 位即可,不足 100 位的请直接输出。
【样例输入】5 31 23 41 3【样例输出】15【样例说明】1、2、3、4来自同一所学校,该所学校所得的分数为1+2+4+8=15【数据规模】60%的数据,1 <= n <= 1080%的数据,1 <= n <= 70100%的数据,1 <= n <= 10000,1 <= m <= 100000跳棋【题目描述】小明迷恋上了一个新的跳棋游戏,游戏规则如下:棋盘是一排从0开始,顺序编号的格子,游戏开始时你位于0号格子,你每次只能往编号大的格子跳,而且你每次至少需要跳过L个格子,至多只能跳过R个格子。
宁波市第26届初赛试题(小学组)答案

宁波市第26届中小学生程序设计竞赛小学组初赛试题一、选择题(每题2分,共30分。
每小题只有唯一一个正确答案)1.二进制数(1011101)2的值是()(A)94 (B)93 (C)62 (D)61分析:B 进制转换1*2^0+0*2^1+1*2^2+1*2^3+1*2^4+0*2^5+1*2^6=92.每个不同的二进制数可以表示一种颜色,赤、橙、红、绿、青、蓝、紫这7种颜色,最少需要几位二进制数来表示?()(A)8 (B)7 (C)4 (D)3分析:D 000、001、010、011、100、101、110、111 最少只要3位。
3.以下运算结果为False的是()(A)not (5>5) (B) (5>=4) and (7<7) (C)not (false) (D) (5<4) or (5>=5)分析:B (A):not(5>5)为true (B):(5>=4) and (7<7) 为false(C):not(false)为true (D):(5<4) or (5>=5) 为true4.Pascal源程序的扩展名是()(A)p (B) psc (C)pas (D)pascal分析:C5.计算机的中央处理器的组成部件是()(A)控制器和存储器(B)存储器和运算器(C)控制器和运算器(D)控制器、存储器和运算器分析:C中央处理器由控制器和运算器和一些寄存器组成6.宁波市中小学程序设计竞赛自从首届举办以来,除了其中有一届因举办时间从下半年调整到次年的上半年而没有举行外,每年举办一次。
首届宁波市中小学程序设计竞赛是哪一年举办的?(A)1984年(B) 1985年(C)1986年(D)1987年分析:B 这一年是2011年,第26届。
2011-26+1=1986,再减去没有举办的一届为1985年。
7.已知一维数组定义a:array[1..100]of longint;每个元素占4个字节地址。
宁波市第27届中小学程序设计竞赛

宁波市第27届中小学程序设计竞赛初中组初赛试题●●所有答案都必须写在答题纸上,写在试卷上无效●●一、选择题(每题1.5分,共30分。
每小题只有唯一一个正确答案)1.关于64位操作系统下面说法不正确的是()A. 64位操作系统的设计初衷是:满足各领域中需要大量内存和浮点性能的客户需求。
B. 64位操作系统的优势还体现在可以通过64位处理器控制更大的内存地址。
C. 目前,常用软件都是64位的。
D. 64位操作系统只能安装在CPU是64位的电脑上。
2.下面几种CPU,不属于64位CPU的是:()A. 赛扬 D352B. 酷睿2E6400C. 奔腾 D 930D. 酷睿T27003.虚拟现实技术是指:利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。
下面不属于虚拟现实技术应用的是:()A. 在医学院校,学生可在虚拟实验室中,进行“尸体”解剖和各种手术练习。
B. 飞行员在真正驾驶前需要进行虚拟飞行训练。
C. 多个地区的医生进行远程医疗。
D. 目前影院的3D电影4.以下关于计算机语言的说法中,错误的是:()A. 机器语言具有灵活、直接执行和速度快等特点。
B. 汇编语言与高级语言能被计算机接受并直接执行的计算机语言。
C. 汇编语言有着高级语言不可替代的用途。
D. 汇编语言比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。
5.将一棵有n个结点的完全二叉树用宽度优先搜索的方式存储在一个数组tree[ ]中,则根据完全二叉树的特性,下列选项中不正确的是:()A. 若2*i<=n,那么tree[i]的左孩子为tree[2*i];若2*i+1<=n,那么tree[i]的右孩子为tree[2*i-1]。
B. 若i>1,tree[i]的父亲为tree[i div 2]。
C. 若i>n div 2,那么tree[i]为叶子结点。
宁波市第22届中小学生计算机程序设计竞赛决赛试题.doc

宁波市第22届中小学生计算机程序设计竞赛决赛试题(小学组)考生须知:1、考试时间为150分钟,满分300分。
2、考生不得携带任何存储设备。
3、考试开始前,请先确定D盘内容不会被还原,如有问题请监考老师解决。
4、上机考试时要随时注意保存程序。
5、每题都必须提交源程序和编译后的可执行程序(程序的命名办法见每题中的规定), 且必须存放到指定的文件夹内(放错位置的视为无效)。
测试时,以源程序为准。
6、考试结束后,不得关机,否则后果自负。
试题一:最小数(100分)(源程序名:min.pas或min.c或min.cpp,编译后可执行程序名:min.exe)【问题描述】给定一个止整数n,请去掉其中的m个数字,使其剩下的数字按原先从左到右的相对次序组成一个新数,但该新数的值必须尽可能的小。
【输入】输入文件min.in屮只有一行,共2个整数,分别是n和m的值,屮间用一个空格分隔。
【输出】输出文件min.out中只有一行,该行只有一个整数,它是从n中去掉m个数字后所能得到的最小新数(注:如果新数的最高位是零,输出时请去掉这些零)。
【数据限制】本题共有10组测试数据,每组10分,共100分。
50%的数据,11。
9,另外50%的数据n不超过240位;所有的数据m的值都小于n的位数。
试题二:等式(100分)(源程序名:equal.pas或equal.c或equal.cpp,编译后可执彳亍程序名:equal.exe)【问题描述】有一个未完成的等式:1 2 3 4 5 6 7 8 9=N当给出整数N的具体值后,请你在2, 3, 4, 5, 6, 7, 8, 9这8个数字的每一个前面,或插入一个运算符号“ + ”号,或插入一个运算符号号,或不插入任何运算符号,使等式成立,并统计出能使等式成立的算式总数,若无解,则输出0。
例如:取N 为108时,共能写出15个不同的等式,以下就是其屮的二个算式: 【输入】输入文件equal.in 中只有1个数,即整数N 的值。
宁波市第27届中小学生程序设计竞赛小学组初赛试题分析

宁波市第27届中小学生程序设计竞赛小学组初赛试题●●所有答案都必须写在答题纸上,写在试卷上无效●●一.选择题(每题2分,共30分。
每小题只有唯一一个正确答案)1)乐乐在记事本里打了“Happy Birthday!”,则它们在计算机内存储时采用的编码是:()。
A)区位码 B)ASCII码 C)字形码D)条形码分析:这题考的是对于计算机内存储编码的了解,选B2)乐乐经常听MP3,由此他也学到了一些有关MP3的知识。
下列有关MP3的信息中不正确的是:()。
A)表达同一首乐曲时,MP3格式的文件大小比 WAVE 格式要小得多。
B)MP3 声音是一种声音数字化之后经过压缩和编码技术处理得到的声音格式。
C)MP3 音乐所采用的声音数据压缩编码的标准是 JPEG 。
D)MP3 之所以得以流行,是因为 MP3 声音的质量好,存储容量小,便于传输与存储。
分析:显然JPEG是图片,而不是音乐,选C3)下图所示是一个16×16点阵的发光LED字幕模块,假如使用1表示点发光、0表示点熄灭,那么这个发光LED字幕模块如果要在计算机内部完整地保存,在不进行压缩的前提下,最少需要的存储空间是:()。
A)8ByteB)32ByteC)8KBD)32KB分析:显然它可以用256位来存储,而一字节有8位,选B4)在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。
那么在PASCAL系统中,-15用byte变量类型存储在计算机内,其二进制编码为:()。
A)10001111 B)00001111 C)11110000 D)11110001分析:先确定符号位,因为它是负数,所以符号位为1,15转为二进制为1111,所以原码为10001111,在首尾两个1不变,其余取反,结果是11110001,选D5)十进制数2012.25用二进制数表示的结果是:()。
A)(11111010101.1)2 B)(11111011100.01)2C)(1111001000.01)2 D)(11111001000.1)2分析:2012/2=1006 01006/2=503 0503/2=251 (1)251/2=125 (1)125/2=62 (1)62/2=31 031/2=15 (1)15/2=7 (1)7/2=3 (1)3/2=1 (1)1/2=0 (1)所以(2012)10=(11111011100)20.25*2=0.5 00.5*2=0 (1)所以(0。
宁波市第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个球。
宁波市第20届中小学生计算机程序设计初赛试题及参考答案

宁波市小学生计算机程序设计初赛试题(说明:考试时间90分钟,满分120分)一、选择题(每小题2分,共40分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项写在答题卷相应位置上,答在试卷上不得分。
1、一个完整的计算机系统应包括____。
A 主机,键盘和显示器B 计算机及其外部设备C 系统硬件和系统软件D 硬件系统和软件系统2、十进制数2005转换为二进制,结果是()。
A、11111010101B、11000101101C、11111001011D、101110101013、下列电子邮件地址,正确的是( )。
A john@B cai@jcc.pc.tool@.jpC 162.105.111.22D 4、彩色显示器所显示的五彩斑斓的色彩,是由红色,蓝色和()色混合而成的A、紫色B、白色C、黑色D、绿色E、橙色5、目前世界上计算机的工作原理是________,它来源于________提出的________原理。
A、存储程序和程序控制、冯。
诺依曼、程序设计B、存储程序控制、冯。
诺依曼、存储程序和程序控制C、存储程序、Taring、程序控制D、存储程序控制、Turing、程序设计6、关于计算机病毒,下列说法正确的是()A、病毒是由软盘表面粘有灰尘造成的B、病毒常隐藏在数据文件或系统中,具有隐蔽性和潜伏性C、大部分病毒不具有传染性和破坏性D、病毒会对计算机造成轻或重的损害,但制造病毒的人并不构成犯罪7、计算机网络的目标是实现()。
A、数据处理B、文献检索C、资源共享和信息传输D、信息传输8、目前比较流行的网络编程语言是( )A、JavaB、FoxPrlC、PascalD、C9、根据域名代码规定,域名为表示的网站类别应是()。
A、教育机构B、军事部门C、商业组织D、非营利组织10、计算机的硬件系统包括()。
A、运算器、控制器、存储器、输入设备、输出设备B、控制器、运算器、输入和输出设备C、中央处理器、输入和输出设备D、主机和键盘、显示器11、算法是指()A、为解决问题而编制的计算机程序B、为解决问题而采取的方法与步骤C、为解决问题需要而采用的计算机编程语言D、为解决问题而采用的计算方法12、Internet上访问Web信息时用的工具是浏览器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年宁波市第26届中小学生程序设计竞赛小学组初赛试题一、选择题(每题2分,共30分。
每小题只有唯一一个正确答案)1.二进制数(1011101)2的值是()(A)94 (B)93 (C)62 (D)612.每个不同的二进制数可以表示一种颜色,赤、橙、红、绿、青、蓝、紫这7种颜色,最少需要几位二进制数来表示?()(A)3 (B)4 (C)6 (D)73.以下运算结果为False的是()(A)not (5>5) (B) (5>=4) and (7<7) (C)not (false) (D) (5<4) or (5>=5)4.Pascal源程序的扩展民是()(A)p (B) psc (C)pas (D)pascal5.计算机的中央处理器的组成部件是()(A)控制器和存储器(B)存储器和运算器(C)控制器和运算器(D)控制器、存储器和运算器6.宁波市中小学程序设计竞赛自从首届举办以来,除了其中有一届因举办时间从下半年调整到次年的上半年而没有举行外,每年举办一次。
首届宁波市中小学程序设计竞赛是哪一年举办的?(A)1984年(B) 1985年(C)1986年(D)1987年7.已知一维数组定义a:array[1..100]of longint;每个元素占4个字节地址。
已知a[1]的开始地址为第10000个字节处,问a[11]的开始地址是第几个字节:()(A)10036 (B) 10041 (C)10040 (D)100448.在宁波市中小学生程序设计竞赛上机复赛中,阅卷老师会批改以下的哪些(个)文件( )(A)先批改选手的源程序文件,如果找不到会批改可执行文件(B)先批改选手的可执行文件,如果找不到会批改源程序文件(C)只批改选手编译生成的可执行文件(D)只批改选手的源程序文件9.以下哪些(个)行为是不符合青少年网络文明公约的:()(A)相信绝大多数的网友是真诚的,随意与网友约会(B)沉溺于网络游戏,影响学习(C)上电脑课时下载大量迷幻类、穿越类的小说,以便晚上睡觉躲被窝看(D)以上都是10.在Free Pascal编程时,你写了一下的程序()var n:longint;beginassign(input,’p,txt’);reset(input);//输入文件重定向到a.txt文件read(n);close(input);//关闭输入文件end.运行该程序时,返回如右图所示的错误信息,这是由于(A)当前目录下找不到输入文件“p.txt”(B)源程序存在2号语法错误(C)输入的值与变量n不匹配(D ) Pascal 编译器没有正确安装11.有以下的程序:var s:string;beginreadln(s);writeln(s[1]);end.该程序运行时,输入如下的”ABC ”后按回车键,输出为 ( )(A) 1 (B)字符‘A ’ (C )字符‘A ’的ASCII 码65 (D )字符串”ABC ”12.宁波市程序设计竞赛使用的Free Pascal2.0.4中integer 型数据的是表示范围是( )(A )-32768~32767 (B )约正负21亿之间 (C )0~65536 (D )不一定13.在Pascal 程序中,以下变量名称正确的是 ( )(A )begin (B)2011xx (C)hello (D)array14.以下程序段结构,总体上看是属于哪个基本结构( )for i:=1 to doif i mod 2=0 then s:=s+1;(A)顺序结构 (B )循环结构 (C )选择结构 (D)树型结构15.进行在线游戏时,①用户登录;②进入在线游戏网;③选择游戏伙伴、开始游戏;④选择游戏室。
正确的次序是 ( )(A )①②④③ (B)②①④③ (C)①②③④ (D)②①③④二.问题求解(每题5分,共10分)1.有三个正整数x,y 和z ,它们相加之和等于21,且x ≤y ≤z 。
显然x=1,y=1,z=19是一组解,x=5,y=6,z=10是另一组解。
请问共有几组解呢?2.在四行四列的表格中放有16枚硬币(每格1枚硬币),以1表示正面朝上,0表示反面朝上。
一次翻硬币是指,要么把某一行整行反转,要么把某一列整列反转。
某一行或某一列反转后,这一行上原来正面朝上的全变反面朝上,原来反面朝上的全变为正面朝上了。
原来的硬币状态如右图所示(图中有7枚硬币正面朝上,9枚硬币反面朝上),经若干次整行、整列的翻转后,右图中最多可以使多少枚硬币正面朝上?使最多枚硬币正面朝上时最少需要翻几次?三.阅读程序,求程序运行输出结果(每题8分,共32分)第1题:program xx2011_1;var n,i,c:longint;ave,s:extended;f:array[1..10000]of longint; begin read(n);ave:=0; for i:=1 to n do beginread(f[i]);ave:=ave+f[i];end;ave:=ave/n;c:=0;for i:=1 to n doif f[i]<ave then c:=c+1;writeln(ave:0:2,’‘,c);end.第2题:program xx2011_2;var n,i,x,p,s:longint;read(n,x);s:=0;p:=1;for i:=1 to n do beginp:=p*x;s:=s+p;end;writeln(s);end.第3题:program xx2011_3;const maxn=100000;varf:array[1..maxn]of longint;stack:array[1..maxn,1..2]of longint;n,i,j,h,t,last,x,s:longint;beginread(n);for i:=1 to n do read(f[i]);stack[1,1]:=1;stack[1,2]:=n;last:=2;while last>1 do beginlast:=last-1;h:=stack[last,1];t:=stack[last,2];i:=h;j:=t;x:=f[h];while i<j do beginwhile(i<j)and(f[j]<x) do j:=j-1;if i<j then beginf[i]:=f[j];i:=i+1;end;while (i<j)and(f[i]>x) do i:=i+1;if i<j then beginf[j]:=f[i];j:=j-1;end;end;f[i]:=x;if(h<i-1) then beginstack[last,1]:=h; stack[last,2]:=i-1;last:=last+1;end;if(i+1<t) then beginstack[last,1]:=i+1;stack[last,2]:=t;last:=last+1;end;end;s:=f[2]-f[1];for i:=3 to n do s:=s+f[i]-f[i-1];writeln(s);第4题program xx2011_4;varn,a,b,c,d:longint;procedure matric(var a,b,c,d:longint;n:longint);var a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3:longint; beginif n=1 then begin a:=0;b:=1;c:=1;d:=1;exit;end; matric(a1,b1,c1,d1,n div 2);matric(a2,b2,c2,d2,n div 2);a3:=a1*a2+b1*c2;b3:=a1*b2+b1*d2;c3:=c1*a2+d1*c2;d3:=c1*b2+d1*d2;if n mod 2=1 then begina:=b3;b:=a3+b3;c:=d3;d:=c3+d3;else begina:=a3;b:=b3;c:=c3;d:=d3;end;end;beginread(n);if n<3 then writeln(1)else begin matric(a,b,c,d,n-2); writeln(c+d); end;end.四.程序填空(前5空每空2分,后6空每空3分,共28分)第1题:幻方把1至n ×n 的正整数填在n 行n 列的表格内,使每一行、每一列和二条多角线上n 个数之和都相等。
这样的正方形表格叫做幻方。
如右图所示是一个3行3列的幻方。
下面的程序生成一个行(列)数为奇数的幻方。
如果输入的行列数n 是偶数,输出字符串”not odd number!”,否则按一下的方法生成幻方:1. 第一个数1填入第一行最中间的一列;2. 以后每次填下一个数时,填入的位置为:(1) 如果已填的数的个数为n 的倍数,则填入下一行;(2) 否则填入上一行右一列。
如果向上越界,则填至最后一行;如果向右越界,填至第一列。
生成的数字保存在二维数组a 中,程序输出n 行,每行n个数据。
【样例输入】3【样例输出】8 1 63 5 74 9 2请将程序补充完整。
program xx2011_5;const maxn=1001;var n,i,j,p:longint;a:array[1..maxn,1..maxn]of longint;readln(n);if n mod 2=0 then beginwrtieln(‘not odd number!’);;end;i:=1;;for p:=1 to n*n do begina[i,j]:=p;if then i:=i+1else begini:=i-1;j:=j+1;if then i:=n;if j>n then j:=1;end;end;for i:=1 to n do beginfor j:=1 to n-1 dowrite(a[i,j],’‘);;end;end.第2题:完美覆盖以1×2的多米诺骨牌去覆盖n×m的棋盘,当棋盘中的每一格都刚好被一块多米诺骨牌覆盖时,这种覆盖叫多米诺骨牌的完美覆盖。
如下图所示,2行3列的棋盘,有3种完美覆盖方案。
以下程序求得n×m棋盘的完美覆盖总方案数。
程序从第1行第1列开始,按照1行1列、1行2列、1行3列、…、1行m列、2行1列、2行2列、2行3列、…、2行m列、…n行1列、n行2列、n行3列、…、n行m列的次序,逐格尝试各格子的不同覆盖方案。