一。问题及代码
/*
* 文件名称:234.cpp
* 作 者: 荆蕾
* 完成日期: 2016年6月5日
* 版 本 号: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)
{
long f=1;
for(int i=1;i<=n;i++)
f*=i;
return f;
}
int main()
{
int n,a,b,c;
for(n=100;n<=999;n++)
{
a=n/100;
b=(n%100)/10;
c=n%10;
if(n==fac(a)+fac(b)+fac(c))
cout<<n;
else
continue;
}
return 0;
}
二。运行结果
三。心得体会
对函数的设计和调用有了基本的应用
四。知识点总结
阶乘的数学意义实际是一个连乘的过程,可用循环语句实现