#include<stdio.h>
/*
假设有个数是9999999999,10个9,那么10*9!=3628800,是一个7位数
在来看9999999,7个9,那么7*9!=2540160也是一个7位数,所以只需
for(i=1;i<=9999999;i++) 判断这里面的数即可
*/
int main()
{
int i;
int sum;
int n,m;
int num[10]={1,1,2,6,24,120,720,5040,40320,362880};
for(i=1;i<=9999999;i++)
{
sum=0;
n=i;
while(n)
{
m=n%10;
sum=sum+num[m];
n=n/10;
}
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}