下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2015 程序设计答题分析( 小学)1. 超市为了促销,规定:购物不足 60 元的按原价付款,超过 60 不足 200 的按九折付款, 超过 200 元的,超过部分按八折付款。 编程完成超市的自动计费 的工作,输入购物金额原价,输出打折后的金额。分析:这个题是一个分支结构的多层嵌套。阅读题目要求时,对200 元以上的,超过 200 的部分是 8 折,剩下的 200 元按 9 折算。打折后可能会是小数点, 要考虑数据类型。Var n:real;BeginRead(n);If n>60 thenIf n<=200 thenN:=n*0.9Else n:=(n-200)*0.8+180;
2、Write(n)End.2. 输入一个奇数n,请编程计算并输出1+(1+3)+(1+3+5)+(1+3+5+n )的结果。分析:此题是简单的双层循环。Var i,j,s,n:integer;BeginRead(n);For i:=1 to n doFor j:=1 to i doS:=s+(2*j-1);Weite(s);End.3. 李先生和他的孙子同出生于 20世纪, 他的孙子与他的年龄之差为 60 岁, 李先生和他的孙子出生年份被 3,4,5,6除, 余数分别为 1,2,3,4,编程求出李先生和 他的孙子各出生在哪一年。分析:这个题用穷举法就太累了。分析一下,一个数字被 5除余 3的话,
3、这 个数的个位数只能是 3和 8,被 6除余 4的话,个位数是 4、8、2、6、0,这两 者同时满足,这个年份的个位数只能是 8。只要从 1908、1918、1928、1938,这 四个数中找一个满足条件同时加 60 后也满足条件的就行了。4. 狼追兔子,兔子躲进了 10 个环形分布的洞的某一个中。狼在第 1 个洞 中没有找到兔子,就间隔 1 个洞,到第 3 个洞中去找,也没找到兔子,就间隔 2 个洞,到第 6个洞中去找。以后狼每次多隔 1 个洞去找兔子, 。这样狼找了 1000 次也找不到兔子。请问兔子可能躲在哪个洞中?分析:该题看似简单,只要每次把狼找过的洞删除就行了,但是,这种删除操作的
4、结束状态(条件)是什么呢?而且,狼的搜索过程中,如果要间隔 11 个洞时,我们是否可以认为就是间隔 1 个洞?实际上,第一个问题应该是当狼回到第 1个洞,并且又上间隔 1 个洞去找 兔子时,就应该结束删除操作,因为此后的搜索是重复以前的搜索了,此时,那 些没有被删除过的洞就是答案。 这里,大家一定不能想当然地认为: 结束条件就 是只剩下一个洞的时候! 题目中并没有说明只有一个答案, 事实上是有四个洞的!第二个问题也是可行的。 因为只有 10个洞,间隔 11个洞和间隔 1个洞的 作用是相同的。var d:array1.10 of integer;i,j,k,l:integer;beginfor
5、i:=1 to 10 do di:=1;i:=1;j:=1;repeatdi:=0;j:=j+1;if j>10 then j:=j-10;i:=i+j;if i>10 then i:=i-10;until (i=1) and (j=1);for i:=1 to 10 do if di>0 then write(i);end.初中 1从键盘输入一个小于 1000的正整数, 若此数的各位数字之和能被 7整除, 则 输出这个数。分析:此题简单,但重点在“被”字上,对输入的数分解出个、十、百位上的数 字,相加后得出的和被 7 整除。参考程序program p1;var n,m,k:
6、integer;beginreadln(k);m:=0;while n<>0 dobeginm:=m+n mod 10;n:=n div 10;end;if m mod 7=0 then writeln(k);end.2. 键盘输入N,求N !末尾有多少个连续的零。其中N!=1X 2X 3X N(1<=N<=1000)。算法一:从1乘到n,每乘一个数判断一次,若后面有 0则去掉后面的0,并记 下0的个数。为了不超出数的表示范围, 去掉与生成 0无关的数,只保留有效位 数,当乘完 n 次后就得到 0 的个数。( pascal 程序如下) var i,t,n,sum:lon
7、gint;begint:=0; sum:=1;readln(n);for i:=1 to n dobeginsum:=sum*i;while sum mod 10=0 dobeginsum:=sum div 10;inc(t); 计数器增加 1end;sum:=sum mod 1000; 舍去与生成 0 无关的数 end;writeln(t:6);end.算法二:此题中生成O的个数只与含5的个数有关,n!的分解数中含5的 个数就等于末尾O的个数,因此问题转化为直接求n!的分解数中含5的个数。 var t,n:integer;beginreadln(n);t:=0;repeatn:=n div
8、5 ;inc(t,n); 计数器增加 nuntil n<5;writeln(t:6);end.分析对比两种算法就不难看出, 它们的时间复杂度分别为 O( N)、O(logN ), 算法二的执行时间远远小于算法一的执行时间。在信息学奥赛中, 其主要任务就是设计一个有效的算法, 去求解所给出的问 题。如果仅仅学会一种程序设计语言, 而没学过算法的选手在比赛中是不会取得 好的成绩的,选手水平的高低在于能否设计出好的算法。3. 有 1 至 8 号共 8个球,其中某一个为次品,仅重量不同 (可轻可重 )。编 程,在以天平为工具,通过测重量用最少的次数挑出次品,并确定它是轻是重。 提示:可以用下面表
9、示的比较方法来设计程序:b1+b2+b3? b4+b5+b6 >=< b1+b4?b2+b5 b7?b8 bl+b4 ?b2+b5 >=< >< >=< b1?b2 b3?b1 b2?b1 b7?b1 b8?bl bl ?b2 b1?b3 b2?b1 >= => >= >= => >= >= >=b1b5b6b3b2b4b7b8b7b8b2b4b3b6blb5 重轻轻重重轻重轻轻重轻重轻重轻重 参考考生程序 program p3;var cpcode:-8.8; cpweight,zpweight,
10、i:integer; wt:array1.8 of integer; function finddiff(a,b,c:integer):integer; begin if a=b then if a=c then finddiff:=0 else if a>c then finddiff:=-3 else finddiff:=3 else if a>b thenif b=c then finddiff:=1 else finddiff:=-2 elseif b=c then finddiff:=-1 else finddiff:=2; end;begin write('ci
11、pin hao:'); readln(cpcode); write('cipin zhong:'); readln(cpweight); write('zhengpinzhong:'); readln(zpweight); write('cipin hao:'); for i:=1 to 8 do if i=cpcode then wti:=cpweight else wti:=zpweight; if wt1+wt2+wt3<>wt4+wt5+wt6 then beginif finddiff(wt1,wt2,wt3)=0
12、thenthenif finddiff(wt4,wt5,wt6)>0 cpcode:=3+finddiff(wt4,wt5,wt6)else cpcode:=-3-finddiff(wt4,wt5,wt6) else cpcode:=finddiff(wt1,wt2,wt3); end elsebeginif wt7>wt8 then if wt7>wt1 then cpcode:=7 else cpcode:=-8 else if wt7=wt1 then cpcode:=8 else cpcode:=-7;end;writeln(abs(cpcode);write(
13、9;Cipin: ');if cpcode<0 then writeln('QING') else writeln('ZHONG');end.4. 任意一个自然数,我们可以将其平均截取成三个自然数。例如135768,可以截取成 13,57,68。如果某自然数不能平均截取 (位数不能被 3 整除 ),可将该 自然数高位补零后截取。 如 4128,可在高位补零后成为 004128,平均截取成 00, 41,28 三个数。编程从键盘上输入一个自然数 N(N 的位数 <12),计算截取后第 一个数加第三个数减第二个数的结果。分析:此题难点数据类型上,限定小于 12 位的自然数已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通运输行业智能化交通城市交通数字化出行客户服务解决方案分享
- 2026年民办高校一站式学生社区高质量发展重难点与突破路径
- 2026年新材料研发领域大模型预测与分子设计应用
- 2026年砂轮裂纹径向跳动≤0.01mm检测方法
- 2026年欧美日量子科技战略与我国三足鼎立格局竞争态势分析
- 2026年江苏省平台与国家算力调度平台融合贯通经验
- 母婴护理师职业素养提升
- 2026年优化人才要素参与收入分配机制:科技成果转化股权激励方案设计
- 2026年中国能建上海总部零碳超高层建筑技术解析
- 2026年深海载人潜水器水动力外形优化设计指南
- 5.1人民代表大会制度 课件(23张幻灯片)+内嵌视频 道德与法治统编版八年级下册
- 动火作业与受限空间安全管理标准
- 2026年当辅警笔试题库及一套完整答案
- 供应商证明书
- 2023北京高考英语答题卡ok
- “白山黑水”-东北三省(教学课件)八年级地理下册系列(人教版)
- 高考18个文言虚词用法详解
- 超高性能混凝土进展及工程应用
- 旋毛虫法语课件
- 五原县供热工程专项规划(2014-2030年) 说明书
- 上海市2023年基准地价更新成果
评论
0/150
提交评论