一、神秘的三位数
有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身,即:abc = a! + b! + c!。下面的程序用于搜索这样的3位数。请补全缺失的代码。
int JC[] = {1,1,2,6,24,120,720,5040,40320,362880};
int i;
for(i=100; i<1000; i++)
{
int sum = 0;
int x = i;
while(__________)
{
sum += JC[x%10];
x /= 10;
}
if(i==sum) printf("%d\n", i);
}
答案 x > 0
本题比较简单,但是本题有很多值得学习的地方,比如题中开了个数组储存0~9的阶乘,省去了每次分解位数时算阶乘的时间。牺牲一小部分空间,节省了大量的时间。
本文介绍了一个有趣的数学问题,探讨如何通过编程找出所有满足其数字阶乘之和等于自身的三位数。文章提供了一段C语言代码示例,巧妙地利用预先计算的阶乘数组来提高效率。
7822

被折叠的 条评论
为什么被折叠?



