我是初学者,编了这个程序找到了很多垃圾
#include<stdio.h>
#define N 4
#define M 24
void getnum(int num[]);
void outnum(int num[]);
void main()
{int num[M];
getnum(num);
printf("\n***end***\n");
}
void getnum(int num[])
{int a,b,i,k=0,num2[N],num3[N],num4[M]={1234,1243,1324,1342,1423,1432,2134,2143,
2314,2341,2413,2431,3124,3142,3214,3241,3412,3421,4123,4132,4213,4231,4312,4321};
for(a=1000;a<10000;a++)
{num2[0]=a;
for(i=0;i<N-1;i++)
{num2[i+1]=num2[i]/10;
num2[i]=num2[i]%10;
}
for(b=0;b<M;b++)
{num3[0]=num4[b];
for(i=0;i<N-1;i++)
{num3[i+1]=num3[i]/10;
num3[i]=num3[i]%10;
}
num[b]=num2[num3[0]-1]*1000
+num2[num3[1]-1]*100
+num2[num3[2]-1]*10
+num2[num3[3]-1];
}
outnum(num);
}
}
void outnum(int num[])
{int a,b,c,d,e,f,x,y;
x=num[0];
num[0]=0;
for(a=0;a<M;a++)
for(b=0;b<M;b++)
for(c=0;c<M;c++)
for(d=0;d<M;d++)
for(e=0;e<M;e++)
for(f=0;f<M;f++)
{y=num[a]+num[b]+num[c]+num[d]+num[e]+num[f];
if(x==y&&x!=num[a]&&x!=num[b]&&x!=num[c]&&x!=num[d]&&x!=num[e]&&x!=num[f])
printf("%d=%d+%d+%d+%d+%d+%d\n",
x,num[a],num[b],num[c],num[d],num[e],num[f]);
}
num[0]=x;
}