pku 3737 UmBasketella

来源:互联网 发布:魔兽2.43数据库 编辑:程序博客网 时间:2024/05/23 20:17

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

*/