实现8选5的C++算法
8个数字选出5个数字输出,有几种输出情况。(如1,2,3,4,5,6,7,8有56种输出情况。如何实现该算法。)
[解决办法]
排列组合算法
上边连接有楼主需要的。。。
[解决办法]
#include<iostream>
using namespace std;
#define N 3
int *res,pos;
void C(int a[],int s,int size,int pos){
if(pos==N){
for(int i=0;i<N;i++){
cout<<res[i]<<" ";
}
cout<<endl;
return;
}
for(int i=s;i<=size-N+pos;i++){
res[pos]=a[i];
C(a,i+1,size,pos+1);
}
}
int main(){
res=new int[N];
int a[]={1,3,7,5,2};
C(a,0,sizeof(a)/sizeof(a[0]),0);
return 0;
}