穷举、递归、迭代 (转)

穷举、递归、迭代 (转)[@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/10752019/viewspace-976484/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752019/viewspace-976484/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值