/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称: test.cpp
*作 者:陈丹
*完成日期:2014年11月6日
*版本号:v1.0
*
*问题描述:请输出满足条件n=a!+b!+c!的所有三位数n
*输入描述: 无输入
*程序输出:输出n
*/
#include <iostream>
using namespace std;
int main()
{
long fac (int);
int a,b,c,x,n;
for (x=100;x<=999;x++)
{
a=x/100;
b=(x/10)%10;
c=x%10;
n=fac(a)+fac(b)+fac(c);
if (n==x)
cout <<n<<'\t';
}
return 0;
}
long fac (int m)
{
int x;
if (m==0||m==1)
x=1;
else
x=fac(m-1)*m;
return x;
}
运行结果:
学习总结:经过大神指点终于理解了这个程序,