UVa 10215 - The Largest/Smallest Box ...

題目:一個L*W的矩形板子,四個角減去四格x*x的正方形,問使得體積最大和最小的x值。

分析:幾何,微積分。列出體積公式求導數,確定x即可。

            體積V(x)=(L-2x)(W-2x) x;

            導數V‘(x)= LW - 2(L+W)x + 12x^2;

            最小值為0和min(L,W)/ 2,最大值為導數為0的左面的解。 

說明:注意精度控制。

#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;
}


你可能感兴趣的:(UVa 10215 - The Largest/Smallest Box ...)