#include<iostream>
using namespace std;
int a[]={1,2,3,4,5,6,7,8,9},b[10],n=9,m=5,counter=0;
void output()
{
for(int i=0;i<m;i++)
cout<<b[i]<<" ";
cout<<endl;
}
void dfs(int step,int index)
{
if(step==m)//boundary condition
{
output();
counter++;
return ;
}
for(int i=index;i<n;i++)
{
b[step]=a[i];
dfs(step+1,i+1);
}
}
int main()
{
dfs(0,0);
cout<<counter<<endl;
return 0;
}
组合数算法 C(n,m)(n>=m)
最新推荐文章于 2023-05-21 10:18:00 发布