组合 例如: 需要从1-7数字中选出5个进行组合,并按有小到大输出.
#include<iostream>using namespace std;int a[8],b[8];void PRint(){ for (int i=1;i<=5;i++) cout<<a[i]; cout<<endl;}void dfs(int index){ if (index==8) { print(); return; } for (int i=a[index-1]+1;i<=7;i++) { if (b[i]==0) { b[i]=1; a[index]=i; dfs(index+1); b[i]=0; } }}int main(){ dfs(1); return 0;}全排列 例如对于1-5进行全排列,并按由小到大输出
#include<iostream>using namespace std;int a[8],b[8];void print(){ for (int i=1;i<=5;i++) cout<<a[i]; cout<<endl;}void dfs(int index){ if (index==6) { print(); return; } for (int i=1;i<=5;i++) { if (b[i]==0) { b[i]=1; a[index]=i; dfs(index+1); b[i]=0; } }}int main(){ dfs(1); return 0;}新闻热点
疑难解答