閱讀65 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go 2012 藍橋杯【初賽試題】放棋子
  下一篇:go C# 怎麼檢測string字符串中有哪些數字?