#13393: python 參考答案


s916220@gmail.com (蕭逸宏)

學校 : 不指定學校
編號 : 68935
來源 : []
最後登入時間 :
2017-09-12 19:58:22
a248. 新手訓練 ~ 陣列應用 -- 新手訓練系列 ~ 2 | From: [27.105.26.14] | 發表日期 : 2018-02-11 21:04

寫得不好,不曉得是讀入的方式還是精確度太高讓整個運算變得很肥大。

希望有人能協助看看這樣的程式碼是否有改進空間。

 

#本題主要考精確度,故需熟練Decimal用法
import sys
from decimal import *

for content in sys.stdin:
num_list = content.replace("\n"," ").split()
loop_use = int(len(num_list)/3)

for i in range(loop_use):
a,b,N = map(float,num_list[3*i:3+3*i])
getcontext().prec = len(str(a))+int(N) #設定精確度
getcontext().rounding = ROUND_DOWN #避免下行的format發生四捨五入
print(format(Decimal(a)/Decimal(b),"."+str(int(N))+"f"))

 
ZeroJudge Forum