计算阶乘的和v2.0(4分)
题目内容:
假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m= a!+b!+c!,则这个三位数就称为三位阶乘和数(约定0!=1)。请编程计算并输出所有的三位阶乘和数。
函数原型: long Fact(int n);
函数功能:计算n的阶乘
输入格式: 无
输出格式:"%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
#include <stdio.h>
#include <stdlib.h>
long Fact(int n);
long Fact(int n)
{
int i,sum;
int p=1;
if (n==0 || n==1)
{
return 1;
}
for(i=2;i<=n;i++)
{
p=p*i;
}
return p;
}
int main()
{
int a,b,c,sum;
int m;
for(m=100;m<=999;m++)
{
a=m/100;//百位
b=(m/10)%10;//十位
c=m%10;//个位
a = Fact(a);
b = Fact(b);
c = Fact(c);
sum = a+b+c;
if (m==sum)
printf("%d\n",m);
}
system("pause");
return 0;
}