N 階乘數
請寫一個程式求出 n! 的結果數值中,從右邊算來第一個不是0的數字(0 n 10000)。
例如:
3!=6 所以輸出 6。
5!=120 所以輸出 2。
10!=3628800 所以輸出 8。
輸入規範
輸入檔案中包含好幾筆資料,每筆資料一行,包含一個整數n(0 n 10000)。如果輸入的n=0,代表輸入結束。
輸出規範
對每行輸入,輸出N! 從右邊算來最後一個不是0的數字。
Private Sub Command1_Click()
Dim ans As Currency
Open "C:test3.txt" For Input As #1
Do Until EOF(1)
Input #1, N
ans = 1
For i = 1 To N
ans = ans * i
'去除 0 尾數
If Right$(ans, 1) = "0" Then
Do
ans = Left(ans, Len(CStr(ans)) - 1)
Loop Until Right$(ans, 1)
End If
ans = Right(ans, 10) '將乘積取後10位數
If (i = N) Then
'Print i, Right(ans, 1)
Open "C:result3.txt" For Append As #2
Print #2, Right(ans, 1)
Close #2
End If
Next
Loop
Close #1
End Sub
題目來源:知識+ http://tw.knowledge.yahoo.com/question/question?qid=1106112209248
PIXNET
- Dec 23 Sat 2006 01:11
求N 階乘
close
全站熱搜
留言列表
發表留言