解法はこの2つになりそう。
- 文字列を分割して、10000倍して、整数で計算してから戻す。
- Decimalなどの任意精度演算ライブラリを使う
両方で解いてみました。Python3です。
整数で計算してから戻すパターン。
#81031 No.350 d=vt - yukicoder
v, t = input().split() v = int(v[0]+v[2:]) print(v*int(t)//10000)
任意精度演算を使うパターン。
#82095 No.350 d=vt - yukicoder
from decimal import * def solve(): getcontext().prec = 25 v, t = input().split() print(int(Decimal(v) * Decimal(t))) if __name__=="__main__": solve()
Decimal便利だけど、速度面がやっぱり不安なので、いざって時だけにしておきたいですね。