如题:通过动态规划的方法求解排列组合中组合数
原理:
- 状态转移方程
直接照搬原理:
- 初始条件
没有东西且什么都不选,也是一种选择:
具体实现:
int f[1000][1000];
int format(int n, int m)//n>m
{
//1、什么都不选视为一种方法
//2、全选视为一种方法
if (n == 0 || n == m)
{
return 1;
}
f[0][0] = 1;//初始条件
for (int i = 0; i <= m; i++)//
{
f[i][i] = 1;
for (int j = i + 1; j <= n; j++)//排列组合中的n应大于m 所以取i+1
{
if (i == 0)
f[j][i] = 1;
else
f[j][i] = f[j - 1][i] + f[j - 1][i - 1];
}
}
return f[n][m];
}
参考博客地址: