组合数的具体应用可以参考这个例子:https://www.cnblogs.com/FengZeng666/p/10496223.html
下面这段代码可以作为求组合数的固定套路或者公式:
#include<iostream> #include<cstring> using namespace std; ; ]; void dfs(int step, int n, int m) //从n个数里面选出m个,存入一维数组a { )) { ++sum; //组合总数 ; i <= m; ++i) cout << a[i] << " " ; //所有组合 cout << endl; return; } else { ; i <= n; i++) { //保证取得的这5个数大小是递增的,避免重复取 ]) { a[step] = i; //使用数组a保存已经取出的数,下标0不用 dfs(step + , n, m); } } } } int main() { memset(a, , sizeof(a)); cout << "所有组合为:" << endl; dfs(, , ); cout << endl; cout << "共有" << sum << "种组合" << endl; }