信息学奥赛辅导程序设计试题汇编.doc

上传人:ni****g 文档编号:558253622 上传时间:2023-12-10 格式:DOC 页数:58 大小:1.08MB
返回 下载 相关 举报
信息学奥赛辅导程序设计试题汇编.doc_第1页
第1页 / 共58页
信息学奥赛辅导程序设计试题汇编.doc_第2页
第2页 / 共58页
信息学奥赛辅导程序设计试题汇编.doc_第3页
第3页 / 共58页
信息学奥赛辅导程序设计试题汇编.doc_第4页
第4页 / 共58页
信息学奥赛辅导程序设计试题汇编.doc_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《信息学奥赛辅导程序设计试题汇编.doc》由会员分享,可在线阅读,更多相关《信息学奥赛辅导程序设计试题汇编.doc(58页珍藏版)》请在金锄头文库上搜索。

1、信息学奥林匹克竞赛指导程序设计试题答案部分第1页程序设计试题及答案(备注:试题难度谈论采用五级谈论系统,分基础、简单、一般、稍难、难五个等级,其中的一、二、三级都属于程序设计的基础试题级别,同学们略加思虑均有能力求得正确解答,对于四级试题属于程序设计试题基础级其他思虑题,五级难度试题在此没有涉及,在程序设计高级试题中另行讲解。对于基础和简单两个级其他程序设计试题,若能够给出语句分类(如If条件语句、条件语句嵌套、循环语句、多重循环语句等)的将尽量给出。若属于13大类其他将尽量注明。)程序设计试题几大分类:1、素数类问题(求素数的几种算法):2、数据排序问题(数据排序的几种方法):3、最大合约数

2、和最小公倍数问题(几种算法):4、公式求解类问题(如求圆周率、自然常数e、解方程等等):5、编号相反办理问题:6、约瑟夫问题(或猴子选大王问题、密码问题):7、回文数问题:8、高精度数值计算问题:9、数值计算问题:10、进制相互变换问题:11、字符串倒置问题:12、排列与组合类问题:13、因子、质因子(质因数)类相关问题:答案部分:(程序设计的源程序没有一致的标准答案,实现程序的算法也是多种多样,但结果是唯一的,算法也有利害之分,一个程序的利害,要点在于可否找到了好的算法,以下程序和算法不用然就是最正确算法和最正确程序,只能仅供参照,希望同学们能够对某些程序提出更好的算法来改进程序)(经常碰到

3、的判断可否为素数、可否为回文数、求两个数的最大合约数、求两个数的最小公倍数等问题的子函数源程序,请务必记住!)判断可否为素数,若是素数则返回true,若不是素数则返回false:functionprime(x:longint):boolean;varj,y:longint;beginprime:=true;信息学奥林匹克竞赛指导程序设计试题答案部分第2页ifx2thenprime:=false;y:=trunc(sqrt(x);forj:=2toydoif(xmodj=0)thenbeginprime:=false;exit;end;end;备注:1100之间全部的素数:2、3、5、7、11、

4、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97。(共25个)判断可否为回文数,若是回文数则返回true,若不是回文数则返回false:functionhuiwen(n:longint):boolean;varm,i,j:longint;a:array1.10ofinteger;beginifn0thenbeginhuiwen:=false;exit;end;m:=n;i:=0;huiwen:=true;repeati:=i+1;ai:=mmod10;m:=mdiv10;untilm=0;forj:=1to(idiv2)do

5、ifajai-j+1thenbeginhuiwen:=false;exit;end;end;求最大合约数子函数,返回两个正整数的最大合约数,采用辗转相除法算法;functiongcd(a,b:longint):longint;beginifb=0thengcd:=aelsegcd:=gcd(b,amodb);end;求最小公倍数:lcm=a*bdivgcd(a,b);(以下程序设计试题来自奥赛经典(语言篇)第 2章基本语句与程序构造例题部分:1、求梯形的面积。(梯形面积公式:S1h(ab))2(,测试数据2、求一元二次方程ax2bxC0的两个实根。(求根公式:x1,2bb24ac)2a(,测试

6、数据a1,b5,c6;答案:x12、x23)信息学奥林匹克竞赛指导程序设计试题答案部分第3页3、输入一个三位的自然数,尔后把这个数的百位与个位对换,输出对换后的结果。()4、输入三个数a、b、c,第一判断这三个数可否组成三角形,若能,则求出三角形的面积。(提示:海伦公式Sd(da)(db)(dc),其中dabc2,a、b、c为边长)(,If条件语句,测试数据a5,b6,c7;答案:14.7)5、从键盘读入三个数,按从大到小的序次把它们打印出来。(,If条件语句)6、输入三角形的三边,判断它是否是直角三角形。(,If条件语句,测试数据3、4、5;4、5、6;答案Yes;No)7、编写一个依照用户

7、键入的两个操作数和一个运算符,由计算机输出运算结果的程序。()8、输入一个年号,判断它可否为闰年。(,If条件语句,测试数据1900;2000;2008;答案:No;Yes;Yes)9、编程计算S123100。(,循环语句,答案:5050)相关练习:(1)S1111;(2)S12221002;23100(3)S246100;(4)S14710100;(相关练习答案:(1)5.19(保留2为小数);(2)338350;(3)2550;(4)1717)211110、依照公式1222n2,计算圆周率的值。63(,循环语句,测试数据n10000;答案:3.1414971639)programe;var

8、i:longint;s:real;beginwriteln;s:=0;fori:=1to10000dos:=s+1/(i*i);writeln(sqrt(6*s);end.11、计算n!。(n!123n,取n10)(,循环语句,10!3628800)12、已知一对兔子,每个月能够生一对小兔,而小兔过一个月后也可生一对小兔。即兔子的对数是:第一个月1对,第二个月2对,第三个月3对,第四个月5对,假设兔子的生育期是12个月,并且不死,问一年后,这对兔子有多少对活着的后代?(Fibonacci数列问题)(,循环语句,1、2、3、5、8、13、21、34、55、89、144、233;答案233)信息学

9、奥林匹克竞赛指导程序设计试题答案部分第4页13、求两个整数a与b的最大合约数和最小公倍数。(,循环语句、If条件语句,测试数据16和24,最大合约数8,最小公倍数48)14、利用格利高公式求。41111,直到最后一项的值小于106为止。357(,循环语句)(答案:3.1415946569E+00)programe2_32;varn,fh:longint;s,t,p:real;beginwriteln;n:=1;s:=0;t:=1;fh:=1;while(abs(t)=1e-6)dobegint:=fh/n;s:=s+t;n:=n+2;fh:=-fh;end;p:=4*s;writeln(pi=

10、,p);end.111相关练习:利用公式,求。81357911(计算前10000项时,答案为3.1415426536)programe;vari,a,b:longint;x,s:real;beginwriteln;s:=0;fori:=1to10000dobegina:=(4*i-3);b:=(4*i-1);s:=s+1/(a*b);end;writeln(8*s);end.33315、求100999中的水仙花数。(若三位数,则称ABC为水仙花数。比方ABC,ABCABC153,135333153,则153是水仙花数。)(,循环语句)(答案:153、370、371、407)programe12;vari,a,b,c:integer;beginwriteln;fori:=100to999dobegina:=idiv100;b:=(imod100)div10;c:=imod10;ifi=a*a*a+b*b*b+c*c*cthenwrite(i:8);end;end.16、试编写能够打印输出以以下列图形的程序。(,循环语句)AAAAAAAAA信息学奥林匹克竞赛指导程序设计试题答案部分第5页AAAAAAAAAAAAAAAAprograme;constn=5;vari,j:integer;beginwriteln;fori:=1tondobeginwrite

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号