A - kcal 解説 by en_translator
Since it is \(A/100\) kilocalories per one milliliters, the answer is \(AB / 100\). The following code (in C++) will be accepted:
#include <iostream>
using namespace std;
int main() {
int A, B;
cin >> A >> B;
cout << A * B / 100.0 << '\n';
return 0;
}
Here, if you express the operation of “dividing by 100” as A * B / 100
, it will be rounded down since it is an integral operation. For example, 25 * 25 / 100
will be evaluated to 6
, not 6.25
. On the other hand, 100.0
is interpreted as a double type, so it will be processed as decimals.
One can explicitly cast to double type:
#include <iostream>
using namespace std;
int main() {
int A, B;
cin >> A >> B;
cout << ((double) (A * B)) / 100 << '\n';
return 0;
}
Note that although the code will be accepted under the constraints of the problem statement this time, if you feed \(A = 12345, B = 98765\) as an input, it will output 1.21925e+07
. Accurate notation can be obtained with std::fixed
or std::setprecision
.
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int A, B;
cin >> A >> B;
// std::fixed -> Instructs to output a fixed point decimal
// std::setprecision(int n) -> Instructs to output n digits after the decimal point
cout << fixed << setprecision(2);
cout << A * B / 100.0 << '\n';
return 0;
}
投稿日時:
最終更新: