按理说,这道题有 SPJ,就算小数位数很多也不会有什么问题
然而这样就可以 AC:
db l = 0.0, r = 1e8;
for(int i = 1; i <= 200; i = i + 1)
{
db mid = (l + r) / 2.0;
if(check(mid))
r = mid;
else
l = mid;
}
printf("%.5lf", r);
return 0;
}
这样就喜提 64:
db l = 0.0, r = 1e8;
for(int i = 1; i <= 200; i = i + 1)
{
db mid = (l + r) / 2.0;
if(check(mid))
r = mid;
else
l = mid;
}
cout << r;
return 0;
}
是因为 cout 输出时的精度有问题吗?