电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > C语言 > 正文
用动态规划法求组和数的算法
用动态规划法求组和数的算法
2010-9-21 22:24:09  文/网络收集   出处:电脑软硬件应用网   

用动态规划法求组和数的算法

#include<stdio.h>

int combinat(int m, int n) {
    int i, j;
    int mat[100][100];
    if (n == 0 || m == n)
        return 1;    
    else {
        for (j = 0; j < n; j++) {
            mat[0][j] = 1;
            for (i = 1; i <= m-n; i++)
                if (j == 0)
                    mat[i][j] = i+1;
                else
                    mat[i][j] = mat[i-1][j] + mat[i][j-1];
        }                         
        return (mat[m-n][n-1]);       /* 返回计算得到的结果 */
    }
}

int main() {
    printf("m=%d  ,n=%d  ,combinat=%d\n", 10, 2, combinat(10, 2));
    printf("m=%d  ,n=%d  ,combinat=%d\n", 5, 3, combinat(5, 3));
    printf("m=%d  ,n=%d  ,combinat=%d\n", 6, 1, combinat(6, 1));
    printf("m=%d  ,n=%d  ,combinat=%d\n", 4, 2, combinat(4, 2));
    return 0;
}

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    用C语言实现的闹钟程序
    C#实现Windows关机的代码
    循环结构程序具有哪3个组成部分?
    const成员函数有什么特点?
    c语言求平均分程序
    一道关于指针的C语言题
    C语言求3个整数的最大公约数
    BM模式匹配算法C语言实现
    从键盘输入任意5个4位整数存入数组a…
    求1到1000之间能被7和11整除,但不能…
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号