https://atcoder.jp/contests/abc169/tasks/abc169_c
解説
https://atcoder.jp/contests/abc169/submissions/13920372
小数が絡む計算でやはり気になるのが誤差である。
普通に入力してもいいが、整数でできないかを考えてみる。
A×Bをするが、100倍をしてやると、整数になる。
100倍をした後に÷100をして、かつ、切り捨ててやると、A×Bの小数点以下切り捨てとなる。
この方針でやろう。
C++であれば、scanfを使うのがいい。
scanf("%lld %lld.%lld", &A, &B1, &B2);
便利。
これで、B1*100+B2をしてやると、Bを100倍したものが得られる。
あとは、Aとかけて100で切り捨てで割れば答え。
ll A, B1, B2; //--------------------------------------------------------------------------------------------------- void _main() { scanf("%lld %lld.%lld", &A, &B1, &B2); ll ans = A * (B1 * 100 + B2) / 100; cout << ans << endl; }