#include <stdio.h>#include <conio.h>int main(){ int n1,n2,n3,n[11]={9,8,7,6,5,4,3,2,1,0,0},ns=0; while(n[10]==0) { if(n[9]<=1) //这部分按你题目需要修改 { //现在的代码计算的是a+bc+def=ghij n1=n[2]*10+n[1];n2=n[5]*100+n[4]*10+n[3]; n3=n[9]*1000+n[8]*100+n[7]*10+n[6]; if(n[0]+n1+n2==n3)ns++,printf("%d + %d + %03d = %04d\n",n[0],n1,n2,n3); }else break; //这里n[9]>1不可能再有解 n1=0;n[n1]++; while(n1>=0) { if(n1==10)break; if(n[n1]>9){n[n1]=0;n[++n1]++;continue;} for(n2=n1+1;n2<10;n2++)if(n[n1]==n[n2])break; if(n2>9)if(n1==0)break;else n1--;else n[n1]++; } } printf("共%d个解\n\n",ns); getch();return 0;}

评论