基本算法题库个基本算法

基本算法题库个基本算法

ID:10961238

大小:190.97 KB

页数:89页

时间:2018-07-09

基本算法题库个基本算法_第1页
基本算法题库个基本算法_第2页
基本算法题库个基本算法_第3页
基本算法题库个基本算法_第4页
基本算法题库个基本算法_第5页
资源描述:

《基本算法题库个基本算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、89第页共89页信息学奥林匹克竞赛辅导——程序设计试题答案部分第89页程序设计试题及答案(备注:试题难度评价采取五★级评价体系,分基础、容易、一般、稍难、难五个等级,其中的一、二、三★级都属于程序设计的基础试题级别,同学们稍加思考均有能力求得正确解答,对于四★级试题属于程序设计试题基础级别的思考题,五★级难度试题在此没有涉及,在程序设计高级试题中另行讲解。对于基础和容易两个级别的程序设计试题,若能够给出语句分类(如If条件语句、条件语句嵌套、循环语句、多重循环语句等)的将尽量给出。若属于13大类别的将尽量标注。)程序设计试题几

2、大分类:1、素数类问题(求素数的几种算法):2、数据排序问题(数据排序的几种方法):3、最大公约数和最小公倍数问题(几种算法):4、公式求解类问题(如求圆周率π、自然常数e、解方程等等):5、编号相反处理问题:6、约瑟夫问题(或猴子选大王问题、密码问题):7、回文数问题:8、高精度数值计算问题:9、数值计算问题:10、进制相互转换问题:11、字符串倒置问题:12、排列与组合类问题:13、因子、质因子(质因数)类相关问题:答案部分:(程序设计的源程序没有统一的标准答案,实现程序的算法也是多种多样,但结果是唯一的,算法也有优劣之分

3、,一个程序的优劣,关键在于是否找到了89第页共89页信息学奥林匹克竞赛辅导——程序设计试题答案部分第89页好的算法,以下程序和算法不一定就是最佳算法和最佳程序,只能仅供参考,希望同学们能够对某些程序提出更好的算法来改进程序)(经常碰到的判断是否为素数、是否为回文数、求两个数的最大公约数、求两个数的最小公倍数等问题的子函数源程序,请务必记住!)1判断是否为素数,若是素数则返回true,若不是素数则返回false:functionprime(x:longint):boolean;varj,y:longint;beginprime:

4、=true;ifx<2thenprime:=false;y:=trunc(sqrt(x));forj:=2toydoif(xmodj=0)thenbeginprime:=false;exit;end;end;备注:1~100之间所有的素数:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97。(共25个)2判断是否为回文数,若是回文数则返回true,若不是回文数则返回false:functionhuiwen(n:longint):boole

5、an;varm,i,j:longint;a:array[1..10]ofinteger;beginifn<0thenbeginhuiwen:=false;exit;end;m:=n;i:=0;huiwen:=true;repeati:=i+1;a[i]:=mmod10;m:=mdiv10;untilm=0;89第页共89页信息学奥林匹克竞赛辅导——程序设计试题答案部分第89页forj:=1to(idiv2)doifa[j]<>a[i-j+1]thenbeginhuiwen:=false;exit;end;end;3求最大公约数

6、子函数,返回两个正整数的最大公约数,采用辗转相除法算法;functiongcd(a,b:longint):longint;beginifb=0thengcd:=aelsegcd:=gcd(b,amodb);end;4求最小公倍数:lcm=a*bdivgcd(a,b);(以下程序设计试题来自《奥赛经典(语言篇)》)第2章基本语句与程序结构例题部分:1、求梯形的面积。(梯形面积公式:)(★,测试数据12、求一元二次方程ax2+bx+C=0的两个实根。(求根公式:)(★,测试数据a=1,b=-5,c=6;答案:x1=2、x2=3)3

7、、输入一个三位的自然数,然后把这个数的百位与个位对调,输出对调后的结果。(★)4、输入三个数a、b、c,首先判断这三个数能否构成三角形,若能,则求出三角形的面积。89第页共89页信息学奥林匹克竞赛辅导——程序设计试题答案部分第89页(提示:海伦公式,其中,a、b、c为边长)(★,If条件语句,测试数据a=5,b=6,c=7;答案:14.7)1、从键盘读入三个数,按从大到小的顺序把它们打印出来。(★,If条件语句)2、输入三角形的三边,判断它是否是直角三角形。(★,If条件语句,测试数据13、4、5;24、5、6;答案1Yes;

8、2No)3、编写一个根据用户键入的两个操作数和一个运算符,由计算机输出运算结果的程序。(★★★)4、输入一个年号,判断它是否为闰年。(★,If条件语句,测试数据11900;22000;32008;答案:1No;2Yes;3Yes)5、编程计算S=1+2+3+…+100。(★,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。