*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:n_min.cpp
*作 者:李文贺
*完成日期:2014年11月11日
*版 本 号:v1.0
*问题描述:请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
*程序输出:满足条件n=a!+b!+c!的所有三位数n。
#include <iostream>
using namespace std;
long fac(int n)
{
int i,j=1;
for(i=1; i<=n; i++)
j*=i;
return j;
}
int main()
{
int n=100,a,b,c,a1,b1,c1,t;
while(n<=999)
{
a=n/100;
b=n/10-10*a;
c=n%10;
a1=fac(a);
b1=fac(b);
c1=fac(c);
t=a1+b1+c1;
if(n==t)
cout<<"n="<<n<<endl;
++n;
}