运行结果
12
#include<iostream> #include<algorithm> using namespace std; int main() { int a[]={0,1,2,3,4,5,6,7,8,9}; do{ if(a[0]==0||a[1]==0||a[3]==0||a[5]==0) continue; int x1=a[0]; double x2=a[2]*1.0/a[1]; double x3=a[4]*1.0/a[3]; if((x1+x2*x3)==a[5]) { printf("%d+(%d~%d)+(%d~%d)=%d\n",a[0],a[2],a[1],a[4],a[3],a[5]); } }while(next_permutation(a,a+10)); return 0; }运行结果
12
#include<iostream> #include<algorithm> using namespace std; int main() { int a[]={0,1,2,3,4,5,6,7,8,9}; do{ if(a[0]==0||a[2]==0||a[5]==0) continue; int x1=a[0]*1000+a[1]*100+a[2]*10+a[3]; int x2=a[2]*1000+a[3]*100+a[4]*10+a[5]; int x3=a[4]*1000+a[4]*100+a[6]*10+a[6]; if((x1+x2)==x3) { printf(" %d%d%d%d\n",a[0],a[1],a[2],a[3]); printf("+%d%d%d%d\n",a[2],a[3],a[4],a[5]); printf("-----------\n"); printf(" %d%d%d%d\n",a[4],a[4],a[6],a[6]); printf("*************************\n\n"); } }while(next_permutation(a,a+10)); return 0; }运行结果 其实记住这个模板就行 遇到全排列的题直接套很方便 再也不用暴力敲的那么累。