C++递归计算组合数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40903417/article/details/86597161

用递归法计算从n个人中选择k个人的不同组合数。

思想:由n个人里选k个人的组合数=由n-1个人里选k个人的组合数+由n-1个人里选k-1个人的组合数

#include "stdafx.h"
#include <time.h>
#include <iostream>
#include <cstdlib>
using namespace std;
int combination(int n,int k)
{
	int sum=0;
	if (n==k||k==0)
	{
		return 1;
	}
	else
	{
		return combination(n-1,k)+combination(n-1,k-1);
	}
}


int _tmain(int argc, _TCHAR* argv[])
{
	cout<<combination(6,1);
	system("Pause");
	return 0;
}

 

展开阅读全文

没有更多推荐了,返回首页