2015南京市小学生信息学竞赛初赛复习知识要点讲解.docVIP

2015南京市小学生信息学竞赛初赛复习知识要点讲解.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015南京市小学生信息学竞赛初赛复习 知识要点、典型题 (版本1.0) 一、知识要点 1. 二分查找; 2. 循环数组; 3. 排序、新型排序; 4. 字符串:分离单词——从文件中读入; 5. 进制穷举;穷举的优化(丑数); 6. 生成法求全排列; 7. 组合取数; 8. 递推迭代深入题目; 9. 图形打印; 10. 高精度计算; 11. 数学类问题;数论问题;C(M,N); 12. 回溯; 13. 贪心; 14. 表达式计算; 15. 文件操作; 二、一些典型题目、经典算法(及源程序) 1. 排序、查找、二分 (1)冒泡排序(已做,需练习) 【程序清单】 DIM AS INTEGER N INPUT N DIM AS INTEGER A(N), I, F FOR I = 1 TO N INPUT A(I) NEXT I J = 1 DO F = 0 FOR I = 1 TO N - J IF A(I) A(I+1) THEN SWAP A(I), A(I+1) F = 1 END IF NEXT I J = J + 1 LOOP UNTIL F = 0 FOR I = 1 TO N PRINT A(I); NEXT I SLEEP : END (2)二分查找(已做) 【程序清单】 dim as integer n input n dim as integer a(n), i, j, x, m for i = 1 to n input a(i) next i for i = 1 to n-1 for j = i+1 to n if a(i) a(j) then swap a(i), a(j) next j next i for i = 1 to n print a(i); ; next i print L = 1 : r = n input x= , x do while L = R m = (L+R) \ 2 if x = a(m) then print found sleep : end end if if x a(m) then R = m - 1 else L = m + 1 end if loop print Not found! sleep : end (3)带二分查找的插入排序(已做,需练习) 【程序清单】 DIM AS INTEGER n input n DIM AS INTEGER a(n), tail, L, R, m input a(1) for i = 2 to n input x L = 1 : R = i-1 : m = (L+R) \ 2 Do while x a( m ) and (L = R) if x a(m) then L = m + 1 else R = m – 1 end if m = (L+R) \ 2 loop if x a(m) then for j = i-1 to L step -1 a(j+1) = a(j) next j a(L) = x else for j = i-1 to m step -1 a(j+1) = a(j) next j a(m) = x end if next i FOR i = 1 TO n PRINT a(i); NEXT i PRINT SLEEP : END 2. 报数问题、循环数组 (1)夏令营旗手(JS2010,第一题)(已做) 【问题描述】 2010年江苏省“信息与未来”小学生夏令营将在常州市局前街小学进行,该校的何老师得知本校营员小明同学被营委会选为夏令营的小旗手,就准备到他家去通知他。 由于他不是本班的学生,所以何老师不知道小明家住在什么地方,只从其他同学那里得知,小明住在未来小区一幢不超过100层的高楼中,但在哪一层不清楚。其他同学提供了三条有用的信息: 1)小明家的楼层号是一个素数; 2)该楼层号化为二进制数后,其中1的个数是偶数; 3)满足以上两个条件中,楼层号最大的一个。 请你写一个程序,计算并输出满足条件(1、2)的楼层个数总数及小明

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档