/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:尹成真
* 完成日期:2012 年 11 月 18日
* 版 本 号:v1.0
* 输入描述:无
* 问题描述: 无
* 程序输出:满足条件n=a!+b!+c!的所有三位数n
* 问题分析: 无
#include<iostream>
using namespace std;
int main()
{
long fac(int m);
int a,b,c,n,sum;
for(n=100;n<=1000;++n)
{
a=n/100;
b=n%100/10;
c=n%10;
sum=fac(a)+fac(b)+fac(c);
if(n==sum)
{
cout<<n<<"是特殊三位数"<<endl;
}
}
return 0;
}
long fac(int m)
{
if(m==0||m==1)
return 1;
else
return m*fac(m-1);
}
运行结果: