網際網路程式設計全國大賽

賽前測試題目


PROBLEM 1 Factorial


Program fileNONZERO.EXE
Input fileNONZERO.IN
Output fileNONZERO.OUT
Execution time30 s
Factorial是階乘的意思,數學定義為﹕

以下為 1 到 10 階乘的值﹕

1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800

99 階乘的值為﹕

9332621544 3944152681 6992388562 6670049071 5968264381 6214685929 6389521759 9993229915 6089414639 7615651828 6253697920 8272237582 5118521091 6864000000 0000000000 000000

我們發現,當階乘越大,後面的零越多,這一題希望寫個程式,算出從個位數起, 第一個非零的數字是什麼。

一個輸入檔中有多筆資料需要讀入,每一行會有一個數字 N ,範圍為 0 到 999999999 。 若 N 等於 0 表示資料結束,否則請算出 N 階層從個位數起,第一個非零的數字是什麼。 答案請從輸出檔的第一行印起,一行一個答案。

範例﹕

NONZERO.IN
 1 
 3 
 5 
 10 
 99 
 0
NONZERO.OUT
 1 
 6 
 2 
 8 
 4