全排列
#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;
}
未完…