/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:n_min.cpp
*作 者:anGelovEr
*完成日期:2014年11月7日
*版 本 号:v1.0
*
*问题描述:请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
*程序输出:满足条件n=a!+b!+c!的所有三位数n。
*/
#include <iostream>
using namespace std;
int fac(int x)
{
int i,j=1;
for(i=1; i<=x; i++)
j*=i;
return j;
}
int main()
{
int n=100,a,b,c,a1,b1,c1,m;
while(n<=999)
{
a=n/100; //分别求该三位数的百、十、个位。
b=n/10-10*a;
c=n%10;
a1=fac(a);
b1=fac(b);
c1=fac(c);
m=a1+b1+c1;
if(n==m) //判断是否满足题目条件。
cout<<"满足条件n=a!+b!+c!的三位数n有:"<<n<<endl;
++n;
}
return 0;
}
知识点总结:函数各种调用各种牛!
学习心得:这玩意有点烧脑……