全排列
#include<bits/stdc++.h> using namespace std; bool a[1000]; int l[1000]; void dfs(int length,int n){ if(length==n+1){ for(int i=1;i<=n;i++){ cout<<l[i]<<" "; } cout<<endl; return ; } else{ for(int i=1;i<=n;i++){ if(a[i]==false){ l[length]=i; a[i]=true; dfs(length+1,n); a[i]=false; } } } } int main(){ int c; cin>>c; dfs(1,c); return 0; }
两位数减两位数等于两位数
#include<bits/stdc++.h> using namespace std; int l[9]; bool b[10]; void dfs(int box){ if(box>6){ int x,y,z; x=l[1]*10+l[2]; y=l[3]*10+l[4]; z=l[5]*10+l[6]; if(x-y==z){ cout<<l[1]<<l[2]<<"-"; cout<<l[3]<<l[4]<<"="; cout<<l[5]<<l[6]; cout<<endl; } return; } for(int i=1;i<=9;i++){ if(b[i]==false){ l[box]=i; b[i]=true; dfs(box+1); b[i]=false; } } } int main(){ dfs(1); return 0; }
未完…