题目内容:
试求出所有三位阶乘和数:m=a!+b!+c!(其中a为百位数字,b为十位数字,c为个位数字。约定0!=1,并输出所有的m)
输入格式: 无
输出格式:"%ld\n"
#include<stdio.h>
int main()
{
long num[10]={1};
for(int i=1;i<10;i++){//将0~9的阶乘保存到num数组中方便使用
num[i]=num[i-1]*i;
}
long m=0;
//这里运用的三层循环分别求没个三位数的阶乘和
for(int i=1; i<10; i++){
for(int j=0; j<10; j++){
for(int k=0; k<10;k++){
m=(num[i]+num[j]+num[k]);
if(m==(i*100+j*10+k)){//将阶乘和与这个三位数进行比较,如果相同就输出
printf("%ld",m);
}
}
}
}
return 0;
}