組合 例如: 需要從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;}新聞熱點
疑難解答