整数的分划问题(续)---非递归法
来源:互联网 发布:车床和铣床编程的区别 编辑:程序博客网 时间:2024/04/29 20:49
上一篇讨论的是整数划分问题递归方法,下面来讨论下非递归方法:
一般情况下,遇到递归问题,若能直接求得递推式,则可以很容易用数组模拟来实现递归,根据已经得出的递归关系,可以设置一个二维数组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];
}
}
代码如下:
#include <stdio.h>int a[130][130];void fun(int n);int main(){int n;while (scanf("%d",&n)!=EOF){fun(n);}return 0;}void fun(int n){int i,j;for (i=1;i<=n;i++){a[i][1]=a[1][i]=1;}for (i=2;i<=n;i++){for (j=2;j<=n;j++){if (i==j){a[i][j]=1+a[i][j-1];}else if (i<j){a[i][j]=a[i][i];}else{a[i][j]=a[i][j-1]+a[i-j][j];}}}printf("%d\n",a[n][n]);}
- 整数的分划问题(续)---非递归法
- 整数分划问题(递归与非递归)
- 递归求解整数的分划问题
- 递归解整数分划问题
- 整数的分划问题
- 整数的分划问题
- 整数的分划问题
- 整数的分划问题
- 整数的分划问题
- 整数的分划问题。
- 整数的分划问题
- 整数的分划问题
- 整数的分划问题
- 蓝桥杯:整数的分划问题
- 整数的分划问题(Java)实现
- 整数的分划
- 整数的分划
- 整数分划问题和钱的组合问题(动态规划)
- oracle初学pl/sql编程笔记----存储过程
- Linux进程的睡眠和唤醒
- 明年的今天我会是怎样
- 北京邮电大学2010年网院方向复试上机题 解题报告
- 使用VS2008 遇到的问题
- 整数的分划问题(续)---非递归法
- 【asp】aspuload
- Android自定义Dialog去除黑色边框
- 关于等待队列和信号量的好文章 (信号量是为了进入临界区的资源独占,而等待队列可能是为了当前资源不可用)
- 可扩展多线程异步Socket服务器框架EMTASS 2.1
- 响应式Web设计资源整理
- java中main方法的初始化与static关键字
- Asp.net 与 UCenter 用户同步之实施过程
- 如何忽略https认证