a248: 新手訓練 ~ 陣列應用
內容
大家都知道,小算盤的小數運算只能算出小數點後三十幾位
但好奇的桑葉想知道更精準的小數值
請你幫可憐的桑葉做出可以算出精準的小數運算的程式
輸入
每次輸入有三個正整數 a , b , N
1<= a , b <= 2147483647 1 <= N <= 10000
( 輸入不會超過 1000 筆 )
18467 41 10
26500 6334 10
15724 19169 10
10 5 3
輸出
請輸出 a / b 的小數運算結果
精準到小數點後 N 位
第 N 位以後請無條件捨去
450.4146341463
4.1837701294
0.8202827481
2.000
解題思路
除法每當要算下一位小數時會把餘數 * 10 當成被除數繼續給除數除。
所以能得到以下公式 :
這次的被除數 = (上次的餘數 % 除數) * 10
程式部分先把小數點以上的輸出,以下的就用剛才得到的公式配合迴圈去求即可。
完整程式碼
AC (49ms, 100KB)
|