題目:一個L*W的矩形板子,四個角減去四格x*x的正方形,問使得體積最大和最小的x值。
分析:幾何,微積分。列出體積公式求導數,確定x即可。
體積V(x)=(L-2x)(W-2x) x;
導數V‘(x)= LW - 4(L+W)x + 12x^2;
最小值為0和min(L,W)/ 2,最大值為導數為0的左面的解。
說明:注意精度控制。
补充:多谢migeater的指正。
#include <cstdio>
#include <cmath>
double esp = 1e-8;
int main()
{
double L, W, x;
while (~scanf("%lf%lf",&L,&W)) {
x = (L+W-sqrt(L*L-L*W+W*W))/6.0+esp;
printf("%.3lf 0.000 %.3lf\n",x,esp+(W<L?0.5*W:0.5*L));
}
return 0;
}