【ABC169 C】「Multiplication 3」を解く【Python3】

コンテスト一覧へ

 

「A×B」の小数点以下を切り捨てて、整数で出力する問題です。

提出
from decimal import Decimal

a, b = map(Decimal, input().split())
print(int(a*b))

Bが小数第2位まで与えられるのですが、これを浮動小数点数として扱うと、演算をした際に、(プログラムは2進数で計算するため)結果に誤差が生じてしまい、テストケースによっては「WA」になってしまいます。

pythonのdecimalモジュールを用いることで、10進数での計算結果を得ることができます。

 

「decimal — 十進固定及び浮動小数点数の算術演算」(公式サイト)
https://docs.python.org/ja/3.8/library/decimal.html

【ABC169】解説記事リスト

コンテスト一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。