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