问题及代码:

/*
 *Copyright(c)2014,烟台大学计算机学院
 *Allrights reserved.
 *文件名称:MADE40.cpp
 *作    者:孙化龙
 *完成日期:2014年11月6日
 *版 本 号:v1.0
 *
 *问题描述:输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数
 *输入描述:无
 *输出描述:满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数
*/
#include <iostream>

using namespace std;
long fac(int n);
int  main()
{
    int a,b,c,n;
    for(n=100;n<=999;n++)
    {
      a=n/100;
      b=(n-a*100)/10;
      c=n%10;
      if(n==fac(a)+fac(b)+fac(c))
            cout<<n<<" ";
    }
 }
long fac(int n)  //用于求n的阶乘
{
    int a=1;
    for(;n!=0;n--)
{
    a=a*n;
}
return a;
}

 

运行结果:

第11周项目4-特殊三位数_#include