输出满足条件n=a!+b!+c!的所有三位数

来源:互联网 发布:电脑卸载不了软件 编辑:程序博客网 时间:2024/05/18 15:23
/**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;}

原创粉丝点击