// 求所有阶乘和数
#include <stdio.h>
int main()
{
long jc(int x)
{
int i;
long t=1;
for(i=1;i<=x;i++)
t*=i;
return t;
}
int a,b,c,d,e,f,g,m,n;
printf("所有的阶乘和数有:");
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
for(e=0;e<=9;e++)
for(f=0;f<=9;f++)
for(g=1;g<=9;g++)
{
m=1000000*a+100000*b+10000*c+1000*d+100*e+10*f+g;
n=jc(a)+jc(b)+jc(c)+jc(d)+jc(e)+jc(f)+jc(g);
if(!a)
{
if(!b)
{
if(!c)
{
if(!d)
{
if(!e)
{
if(!f)
n--;
//n--;
}
n--;
}
n--;
}
n--;
}
n--;
}
if(m==n)
printf("%d ",m);
}
return 0;
}