高中信息学奥林匹克竞赛各种问题求解试题及参考答案集锦
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高中信息学竞赛各种问题求解试题及
答案
第1题(5分),将n个不同颜色的球放人k个无标号的盒子中( n>=k,且盒子不允许为空)的方案数
为S(n,k),例如:n=4,k=3时,S(n,k)=6。当n=6,k=3时,S(n,k)=________。
答案:0 k < n
S(n,k)= 1 k = 1
S(n-1,k-1)+k*S(n-1,k) n >= k >= 2
第2题(5分),有5本不同的数学书分给5个男同学,有4本不同的英语书分给4个女同学,将全部书
收回来后再从新发给他们,与原方案都不相同的方案有________种。
答案:
5!*4!+D(5)*D(4)=1140480
其中:D(n)=(n-1)*(D(n-1)+D(n-2)) (n > 2)
D(1)=0 D(2)=1
第3题(6分),把三角形各边分成n等分,过每一分点分别做各边的平行线,得到一些由三角形的边
和这些平行线所组成的平行四边形。n为已知整数,能组成_______个平行四边形。
答案:
3*C(n+2,4)
第4题(6分),由a,b,c3个不同的数字组成一个N 位数,要求不出现两个a相邻,也不出现两个b
相邻,这样的N位数的个数为AN,用AN-1和AN-2表示AN的关系式为:AN=_______________。
答案:
AN= 2*AN-1+AN-2
第5题(6分),在m*n的棋盘上,每个方格(单位正方形,即边长为1的正方形)的顶点称为格点。以格点
为顶点的多边形称为格点多边形。若设格点凸N边形面积的最小值为gn,格点凸N边形内部(非顶点的)格点的个数的最小值为fn,则gn和fn的关系式为:
gn=___________。
答案:
Gn= fn+N/2-1 ( N >= 3 )
第6题(4分),编号为1到13的纸牌顺时针排成一
圈,有人从编号为1的牌从数字1开始顺时针数下去,
1、2、3、…、20、21、…,一圈又一圈。问:当数到数字N
时,所在纸牌的编号为多少?
答案:
1+(N-1) mod 13
第7题(8分),有位小同学喜欢在方阵中填数字,规则
是按下图示例从右上角开始,按斜线填数字,
碰到边界就重新。显然,数字1在坐标(1,5)位置,数字
25在坐标(5,1)位置。后来这位小朋友想知道,
对于N阶的方阵,随机取一个位置(x,y),并规定x≤y,问
这个位置上应该填的数字是多少?5阶方阵的
示例图如下:
11 7 4 2 1
16 12 8 5 3
20 17 13 9 6
23 21 18 14 10
25 24 22 19 15
答案:
(N-y+x)*(N-y+x-1)/2+x
第8题(5分),设有质量为1、3、9、27、81、…3n g...
的砝码各一枚,如果砝码允许放在天平的两边,
则用它们来称物体的质量,最多可称出1g到3n+3n/2g之间
的所有质量,如n=4时,可称出18到121g之间的
所有质量;当物体质量为M=14时,有14+9+3+1=27,即天
平一端放M=14g的物体和9g、3g、1g的砝码,另一
端放27g的砝码,即可称出M的质量。当M=518g时,请
你写出称出该物体的质量的方法,并用上述所示的
等式来表示。
答案:
518+243+3+1= 729+27+9
第9题(7分),在圆周上有N个点(N>=6),在任意两个
点之间连一条弦,假设任何3条弦在圆的内部
都没有公共点,问这些弦彼此相交能在圆内构成多少个三
角形(只要求写出三角形总数的表示式而无需化
简)?
提示:下图是N=6的情况,图中所示的4个三角形从
某种意义上说具有一定的代表性。
答案:
C(N,3)+4*C(N,4)+5*C(N,5)+6*C(N,6)
第10题(6分),用1个或多个互不相同的正整数之和
表示1~511之间的所有整数
①至少要多少个不同的正整数_________________;
②这些正整数是_______________
答案:
①9
②1,2,4,6,16,32,64,128,256
第11题(7分),在有m行n列格子的棋盘内,一枚棋
子从棋盘的左上角格子沿上、下、左、右方向行走,
最后走到棋盘的右下角格子。该棋子走过的格子数为奇数
的充分必要条件是________________
答案:m+n为偶数
完善程序试题及其答案
第1题(14分)以下程序是将一组整数按从小到大的顺
序排列。排序的方法是将长度为n的数a分为两个长度分
别为(n div 2)与(n-n div 2)的子数组a1,a2。然后递归调用排
序过程,将a1,a2分别排序,最后将a1,a2归并成数组
a。例如a=(3,1,2,4),那么a1=(3,1),a2=(2,4)。调用
排序过程将a1,a2排序,得到a1=(1,3),a2=(2,4),然
后进行合并排序。
从键盘输入数的长度n以及n个整数,存在数组a中,调
用子过程sort进行排序,最后输
出排序结果。
program wsh;
const maxn=100;.