生成不重复组合算法

原创 2005年04月29日 19:57:00

生成不重复组合算法

#include <stdio.h>

#define MAXM    10

int m, n;

int workarr[MAXM];
int record[MAXM];

void DFS(int l)
{
    int i;
    if (l == n)
    {
        for (i=0; i<n; i++)
            printf("%c", 'a'+record[i]);
        printf("/n");
        return;
     }
    for (i=0; i<m; i++)
        if (workarr[i] > 0)
        {
            workarr[i]--;
            record[l] = i;
            DFS(l+1);
            workarr[i]++;
          }
}

int main()
{
    int i;
    while (scanf("%d%d", &m, &n) != EOF)
    {
        for (i=0; i<m; i++)
            workarr[i] = n;
        DFS(0);
     }

    return 0;

C++实现生成组合算法

  • 2016年03月19日 14:09
  • 117KB
  • 下载

15个梨分给5个人的组合算法

  • 2016年03月16日 18:31
  • 3KB
  • 下载

利用动态规划(非递归)探索一个高效的(n,m)组合算法,名字待定

我们知道,排列组合的组合算法主要有两种,递归法或者01转换法,这里要介绍一种全新的罗列n个元素里不重复选取m(m>1 且 m...

组合算法JSP程序

  • 2013年07月10日 08:18
  • 34KB
  • 下载

c语言实现排列组合算法问题

排列组合是算法常用的基本工具,如何在c语言中实现排列组合呢?思路如下: 首先看递归实现,由于递归将问题逐级分解,因此相对比较容易理解,但是需要消耗大量的栈空间,如果线程栈空间不够,那么就运行不下去了...

java 高效率的排列组合算法(java实现)

感谢分享:http://blog.csdn.net/wmj2003/article/details/3678941
  • songylwq
  • songylwq
  • 2013年10月14日 11:18
  • 15639
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:生成不重复组合算法
举报原因:
原因补充:

(最多只允许输入30个字)