2011蓝桥杯【初赛试题】神秘的三位数
神秘的三位数
有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
下面的程序用于搜索这样的3位数。请补全缺失的代码。
int JC[] = {1,1,2,6,24,120,720,5040,40320,362880}; //开了一个JC的数组用来存取1至9的阶乘,省去了下面的运算,节省了时间 int i; for(i=100; i<1000; i++) { int sum = 0; int x = i; while(x!=0)//补全的代码(把x的所有位全部计算完,也就是x最后一位除以10后就为0了,这个数也就计算完了) { sum += JC[x%10]; x /= 10; } if(i==sum) printf("%d\n", i); }
最后更新:2017-04-03 12:55:33