一、问题以及代码
/*
* 文件名称: huangmin.cpp
* 作 者: 黄敏
* 完成日期: 2016 年 6 月 5 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:请输出满足条件n=a!+b!+c!的所有三位数n,
其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
* 输入描述: 输出满足条件n=a!+b!+c!的所有三位数n
* 问题描述: 无;
* 程序输出: 输出三位数n
* 问题分析: 输出三位数n;
* 算法设计: 运用数组;
*/
#include<iostream>
using namespace std;
int fact(int);
int main()
{
int m,n,a,b,c;
n=100;
while(n<1000)
{
c=n%10;
b=(n/10)%10;
a=n/100;
m=fact(a)+fact(b)+fact(c);
if(m==n)
cout<<n<<endl;
++n;
}
return 0;
}
int fact(int n)
{
int i, f=1;
for(i=1;i<=n;++i)
f=f*i;
return f;
}
二、运行结果
三、心得体会
现在所写的程序较之之前的程序有点复杂,耗费的时间较久。
四、知识点归纳
①使用了循环语句
②利用条件寻找合适的数字