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