整数划分问题(续)(非递归法)
2015-08-31 10:49
405 查看
上一篇讨论的是整数划分问题递归方法,下面来讨论下非递归方法:
一般情况下,遇到递归问题,若能直接求得递推式,则可以很容易用数组模拟来实现递归,根据已经得出的递归关系,可以设置一个二维数组S[][]来存储数据:
一般情况下,遇到递归问题,若能直接求得递推式,则可以很容易用数组模拟来实现递归,根据已经得出的递归关系,可以设置一个二维数组S[][]来存储数据:
for(i=1;i<=n;i++) { S[i][1]=1; S[1][i]=1; } for(i=2;i<=n;i++) { for(j=2;j<=m;j++) { i f(i==j) S[i][j]=1+S[i][i-1]; else if(i<j) S[i][j]=S[i][i]; else S[i][j]=S[i-j][j]+S[i][j-1]; } }
相关文章推荐
- 安卓下载及入门教程记录
- Service和IntentService生命周期
- MySQL和SQLServer批量插入的SQL语句区别
- Android中级篇之百度地图SDK v3.5.0-基础地图[图解百度地图基础教程]
- HTML5读取本地文件
- ajax传form表单,表单里有table
- C&C++——段错误(Segmentation fault)
- java数组练习2创建二维数组,并将数组中的内容输出到控制台
- jQuery实现简单的列表式导航菜单效果代码
- android 代码中设置字体大小
- RabbitMQ消息队列(九):Publisher的消息确认机制
- 分解 n!
- HDOJ5122 K.Bro Sorting(树状数组 & 模拟)
- C&C++——库头文件及其作用
- [Leetcode] Combination Sum III
- C#日期函数使用大全
- 使用Chrome修改user agent模拟微信内置浏览器
- 用L脚本语言打印斐波那契数列
- Linux fork炸弹解析 ——Linux Fork Bomb
- Android编程规范