方法:暴力枚举
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e,f,g,h;//三(a)羊(b)献(c)瑞(d)祥(e)生(f)辉(g)气(h)
//注意 三、祥开头 不为0
printf("a b c d e f g h\n");
for(a=1;a<=9;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
for(d=0;d<10;d++)
for(e=1;e<10;e++)
for(f=0;f<10;f++)
for(g=0;g<10;g++)
for(h=0;h<10;h++){
if(!(a==b||b==c||c==d||e==f||f==g||g==h||b==h||a==d||c==e))
//两两不相等(太多)
if(((e*1000+d*100+f*10+g)+(a*1000+b*100+c*10+d))==(a*10000+b*1000+f*100+d*10+h))
printf("%d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h);
//选出abcdefgh都不一样的即可
}
return 0;
}
得到的答案为:1085
分别为:
a b c d e f g h
1 0 8 5 9 6 7 2