/*
*Corpyright (c)2013,烟台大学计算机学院
*All right reseved.
*作者:高古尊
*完成日期:2013年11月9日
*版本号:v1.0
*输入描述:2 5
*问题描述:请输出满足条件n=a!+b!+c!的所有三位数n,
其中,a、b、c分别是n的百、十、个位数。
要求用自定义函数实现求阶乘。
*程序输出:142
*问题分析:
*算法设计:
*/
#include <iostream>
#include <cmath>
using namespace std;
long fac(int );
int main()
{
int n;
cout<<"满足条件n=a!+b!+c!三位数有:";
for(n=100; n<1000; n++)
{
if(n==fac(n))
cout<<n<<' ';
}
cout<<endl;
return 0;
}
long fac(int n)
{
int z,sum,i,y=0;
do
{
sum=1;
z=n%10;
for(i=0; i<z;)
{
i++ ;
sum=sum*i;
}
y=y+sum;
n=(n-z)/10;
}
while(n!=0);
return y;
}
输出满足条件n=a!+b!+c!的所有三位数
最新推荐文章于 2017-04-23 17:36:42 发布