最开始看到数据范围是 1-10^7,就以为 int 就够装了,然后要用到 s*t/12.0
如果两个都是 int,那么相乘时就会先将结果保存在一个 int 里面,这样就爆了,int 最大范围在 2×10^9,所以要用 double 或者 long long 类型来保存 s 和 t 变量。还有要除 12.0,不能直接除以 12,不然就掉了小数部分
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double t,s;
cin >> t >> s;
double i = s*t/12.0;
printf("%.3f",i);
return 0;
}