水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.350 d=vt

No.350 d=vt - yukicoder

解法はこの2つになりそう。

  1. 文字列を分割して、10000倍して、整数で計算してから戻す。
  2. 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便利だけど、速度面がやっぱり不安なので、いざって時だけにしておきたいですね。