您的位置:首页 > 娱乐 > 明星 > 组合数(模板)

组合数(模板)

2025/1/16 16:44:41 来源:https://blog.csdn.net/2301_81488029/article/details/142291569  浏览:    关键词:组合数(模板)

1.杨辉三角求组合数,最高只能求几千内的组合数。

#include<bits/stdc++.h>
using namespace std;
#define int long long
int C[1005][1005];
signed main()
{//求 1000 以内的组合数 for(int i=0;i<=1000;i++){C[i][0]=C[i][i]=1;for(int j=1;j<i;j++){C[i][j]=C[i-1][j-1]+C[i-1][j];}}//例:求 C[10][5]cout << C[10][5]; return 0;
}

2.递归求组合数 (dfs)

根据数学公式:C_{n}^{m}=C_{n-1}^{m-1}+C_{n-1}^{m} 进行递推

#include<bits/stdc++.h>
using namespace std;
#define int long long
int dfs(int a,int b){if(b==0 || a==b) return 1;return dfs(a-1,b)+dfs(a-1,b-1);
}
signed main()
{//例:求 组合数 C[n][m]cout << dfs(10,5); return 0;
}

(注:这两种实质上是用了同一个公式,但用了不同的实现方式)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com