首页 新闻 体育 娱乐 游戏 邮箱 搜索 短信 聊天 通行币 天气 答疑 交友 导航

新浪首页 > 新浪教育 > 《中学生电脑》杂志 > 正文

编程爱好者营地-编程擂台

http://www.sina.com.cn 2004/04/30 16:38  中学生电脑

  各位新老朋友大家新年好!很高兴我们又相聚在“编程擂台”,更欢迎我们的新读者加入“编程擂台”,不断壮大编程爱好者队伍,不断提高大家的编程能力。OK,我们一起来看一看2003年第11期的打擂情况。呵呵,大家可能都已经注意到了,苏洋同学这次又保住了“最佳攻擂手”的位置,其他同学可要努力哦!

  最佳攻擂手:苏洋江苏省连云港市灌云高中高二(2)班

  Pascal源程序:

  program No11

  var combomaxarray1..20of byte

  mniorderbyte

  begin

  write'Input nm'readlnnm读入数的总数n和取数的个数m

  for i=1 to m do gegin comboimaxi=n-m=i endcombo和max数组初始化

  order=m下标指针指向combo数组最后一个元素

  repeat

  if order=m then begin

  for i=1 to m do writecomboi3writeln end组合数的打印

  if comboorder<maxorderthen begin

  inccomboorder如果comboorder未取到最大数时,则comboorder加1

  if order<m then for order=order+1 to m do comboorder=comboorder-1+1

  如果下标指针不是指向最后时,则comboorder等于前一个数加1

  end

  else decorder如果comboorder已取到最大数时,则order指向前一个元素

  until order=0直到combo数组的第一个元素也已取到最大值时停止循环

  end.

  程序运行结果举例:

  n=5 m=4 n=4 m=3

  1 2 3 4 1 2 3

  1 2 3 5 1 2 4

  1 2 4 5 1 3 4

  1 3 4 5 2 3 4

  2 3 4 5

  算法分析:以上程序先定义了一个数组combo用来存放组合数,假设combo中的元素由小到大排列,则combo1<combo2<…<combom,初始值为:12…m;最终值为:n-m+1n-m+2…n;由此可以看出1≤comboi≤n-m+ii=123…m;因此只要在取下一组值时,首先考虑comboi的递增变化,当comboi变化到最大值时考虑comboi-1comboi-2…的变化,这样做显然是为了让数递增排列,以保证不会出现相同的组合,即不考虑排列问题(如:1 2 3和3 2 1是同一种组合)。程序中用数组maxi来保存comboi可以取到的最大值,用order表示数组的下标指针,当order=0时就可以有序地输出各种不同的组合。另外,苏洋同学还利用递归循环数法设计了一个程序,因篇幅有限,不能刊登了,希望大家也动手试试。

  优秀攻擂手

  韩勇贵州省安顺市第一高中高二(12)班

  张晴广西柳州市第八中学初三(12)班

  本期擂台题目

  有一段文字:“This is a disk.There is a desk.”。编写程序,找出这段文字中“is”出现的次数和在字符串中的位置。

  请将上机调试通过的程序代码及运行结果誉写清楚,并简要写出你的编程思路和算法,寄往:重庆市渝中区双钢路3号课堂内外杂志社《中学生电脑》编辑部“编程擂台”栏目,邮编:400013,或发E-mail到pc_new@yesnew.com。




评论】 【推荐】 【 】 【打印】 【关闭

    




新 闻 查 询
关键词一
关键词二


search 小灵通 儿童用品 香水
 
热 点 专 题
温家宝总理出访欧洲
美英军队虐待伊战俘
我国成功控制今春非典
台湾“大选”验票
影星牛振华遇车祸身亡
羽泉2004北京唱演会
第57届戛纳国际电影节
中国羽毛球队战汤尤杯
中超首轮周末激情揭幕

   



文化教育意见反馈留言板电话:010-62630930-5178 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 招聘信息 | 网站律师 | SINA English | 产品答疑

Copyright © 1996 - 2004 SINA Inc. All Rights Reserved

版权所有 新浪网
北京市通信公司提供网络带宽