http://acm.pku.edu.cn/JudgeOnline/problem?id=3737
题意:求出给定表面积的圆锥的最大体积、高、底面圆半径。
/*S=pi*r*l + pi*r*r
l=sqrt(r*r+h*h), 联立得, r*2= s*s/(pi*pi*h*h+2*pi*s)
V=(1/3)*pi*r*r*h,代入r*2,求导,令一阶导数为0,得出结果
h=sqrt(2*s/pi)
r=sqrt(s*s/(pi*pi*h*h+2*pi*s))
v=(1.0/3.0)*(s*s)*h/(pi*h*h+2*s)
*/
#include <stdio.h>
#include <math.h>
#define Pi acos(-1.0)
int main()
{
double s,h,r,v;
while(scanf("%lf",&s) != EOF)
{
h = sqrt(2*s/Pi);
r = sqrt(s*s/(Pi*Pi*h*h + 2*Pi*s));
v = v=(1.0/3.0)*(s*s)*h/(Pi*h*h+2*s);
printf("%.2lf/n%.2lf/n%.2lf/n",v,h,r);
}
return 0 ;
}
/*
30
10.93
4.37
1.55
*/