特殊三位数
请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
#include <iostream>
using namespace std;
//自定义函数的原型(即函数声明)
int fac(int);
int main()
{
int s,a,b,c,x=100;
while (x<1000)
{
c=x%10;
b=(x/10)%10;
a=x/100;
s=fac(a)+fac(b)+fac(c);
if(s==x)
cout<<x<<" ";
x++;
}
return 0;
}
int fac(int n)
{
int i,f=1;
for(i=1; i<=n; i++)
f=i*f;
return f;
}
学习一下别的写法
#include <iostream>
using namespace std;
//自定义函数的原型(即函数声明)
int fac(int);
int main()
{
int s,a,b,c,x=100;
for(a=1; a<=9; a++)
for(b=0; b<=9; b++)
for(c=0; c<=9; c++)
{
x=100*a+10*b+c;
s=fac(a)+fac(b)+fac(c);
if(x==s)
cout<<x<<"\t";
}
return 0;
}
int fac(int n)
{
int i,f=1;
for(i=1; i<=n; i++)
f=i*f;
return f;
}