1
计算阶乘的和v2.0(4分)
题目内容:
假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m= a!+b!+c!,则这个三位数就称为三位阶乘和数(约定0!=1)。请编程计算并输出所有的三位阶乘和数。
函数原型: long Fact(int n);
函数功能:计算n的阶乘
输入格式: 无
输出格式:"%d\n"
#include <stdio.h>
long Fact(int n)//阶乘函数
{
int i;
long result = 1;
for (i=1;i<=n;i++)
{result *= i;}
return result;
}
int main()
{
int m, n, a, b, c;
for (m=100;m<999;m++)//m在100-999之间
{
a=m/100;//百位
c=m%100%10;//个位
b=(m-c)/10%10; //十位
n = Fact(a) + Fact(b) + Fact(c);
m = a * 100 + b * 10 + c;
if (m == n)
{printf("%d\n", m);}
}
return 0;
}