ITPub博客

首页 > IT职业 > IT生活 > 穷举、递归、迭代 (转)

穷举、递归、迭代 (转)

原创 IT生活 作者:worldblog 时间:2007-12-13 08:57:10 0 删除 编辑
穷举、递归、迭代 (转)[@more@]

穷举、递归、迭代

 .NET/develop/author/netauthor/he_zhidan/">何志丹

1,需示分析

  本部分演示了穷举、递归、迭代。穷举的基本思想是:首先根据题目的部分条件预定答案的范围,然后对此范围内所有可能的情况进行逐一检验,直到全部情况均通过验证为止。若某种情况符合题目的全部条件,则该情况为本题的一个解,若全部情况的验证结果均不符合题目的全部条件,则说明该题无解。迭代指把一个复杂问题的求解方程转化成相对简单的迭代算式,然后重复运行这个算式,直到得到最终解。递归:如果一个过程直接或间接有限次的调用了它本身,则称这个过程是递归的。穷举以百鸡问题为例,递归以求阶乘为例,迭代以求一元五次方程为例。

  百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?

2,设计

  百鸡问题的题目由静态控件、编辑框组成,使得用户可以动态改变鸡的价格、总钱数、总鸡数,当用户点击“穷举”按钮时,分析过程及结果显示在列表框中。

  递归:用户输入一个数,按钮的标题变成n!(其中n是输入的数),分析过程与结果也显示在列表框中。

  迭代:用户可以通过编辑框改变系数与控制精度,过程与结果显示在列表框中。为了避免无解,迭代一定次数后作无解处理。

3,测试:

  百鸡问题,先测试原题再更改设置,注意:

  1),每个控件都用到。

  2),买不起一只鸡。

  3),无解。

  递归范围有限,可穷举,注意溢出

  求一元五次方程,注意:

  1),无解,如:x*x+1=-1;

 2),6个系数中0的个数从0到6(一元五次方程到常数方程)。

  3),测试用例不要过于复杂。

 有关用户:

  1,编辑控件可更改设置。

  2,注意溢出与无解。

ASP?id=16885"> 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992540/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 运算符顺序 (转)
请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2405700