⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 求组合方式.txt

📁 解决排列组合问题的通用算法,自然数得拆分,求最大公约数的算法
💻 TXT
字号:
/*
   author: qiaoger 
	 from:   Computer Science Department of Sichuan University
   email:  qiaoger@tom.com
	 date:   2005-5-1

  求组合方式 c(m,n) 的组合情况
*/
#include <stdio.h>
const int MAX = 20 ;

int data[MAX];//要求各数据不重复
int r[MAX];
int m,n; //组合c(m,n) n<=m
int t;//记录组合数

void comb(int cur,int count)
{   
	int i;
  for (i=cur; i< m-n+count+1; i++)
	{
    if(count < n)
		{
		  r[count]=data[i];
      comb(i+1,count+1);
		}
	  else//完成一次组合
    {   
			for(i=0; i<n-1; i++)
			  printf("%4d ",r[i]);
		  printf("%4d\n",r[n-1]);
			t++;
			return ;
		//	break; 
    }
	}
}

int main()
{  
	while(scanf("%d%d",&m,&n)==2)
	{
		if(m==0 && n==0)
			break;
		//输入供组合的数据,这里自动输入
		for(int i=0; i<m; i++)
			data[i] = i+1;
		t=0;
		comb(0,0);
		printf("共有 %d 种组合\n",t);
	}
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -