#include
#include
/********阶乘********/
int factorial(int n)
{
int product = 1;
for( n; n > 0; n--)
product *= n;
return product;
}
int main(void)
{
int i, j, k, l;
int num, n, n_wei, sum;
for(i = 1; i <= 9; i++)//将十万以内的数按首位数字分9类
{
for(j = 0; j
{
n = i * pow(10, j); //分别将1,10,100,1000,10000,2,20作为起始数字
for(k = 0; k
{
num = n + k;
sum = 0;
while(num > 0)
{
sum += factorial(num % 10);
num /= 10;
}
if(sum == (n + k)) printf("%d ", n + k);//输出符合的阶乘和数
}
}
}
return 0;
}
有什么不懂的可以留言。