1. 程式人生 > >階乘和數(abc=a!+b!+c!)

階乘和數(abc=a!+b!+c!)

#include<stdio.h>
long jc(int x)
{
int i;long p=1;                                              //abc=a!+b!+c! 
for(i=1;i<=x;i++)
p*=i;
return (p);
}
main()
{
int a,b,c,d,e,f,g;
long m1,m2,m3,m4,m5,m6,n1,n2,n3,n4,n5,n6;
printf("所有階乘的和數為:\n");
for(a=1;a<=9;a++)
{
if(a==jc(a))
printf("%d\n",a);
for(b=0;b<=9;b++)
{
m1=a*10+b;n1=jc(a)+jc(b);
if(m1==n1)
printf("%1d\n",m1);
for(c=0;c<=9;c++)
{
m2=m1*10+c;n2=n1+jc(c);
if(m2==n2)
printf("%d\n",m2) ;
for(d=0;d<=9;d++)
{
m3=m2*10+d;n3=n2+jc(d);
if(m3==n3)
printf("%d\n",m3);
for(e=0;e<=9;e++)
{
m4=m3*10+e;n4=n3+jc(e);
if(m4==n4)
printf("%d\n",m4);
for(f=0;f<=9;f++)
{
m5=m4*10+f;n5=n4+jc(f);
if(m5==n5)
printf("%d\n",m5);
for(g=0;g<=9;g++)
{
m6=m5*10+g;n6=n5+jc(g);
if(m6==n6)
printf("%d\n",m6);
}
}
}
}

}
}
}