基准时间限制:1 秒 空间限制:131072 KB 分值: 10
难度:2级算法题
B君要用一个表面积为S的圆锥将白山云包起来。
B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。
注意圆锥的表面积包括底面和侧面。
Input
一行一个整数,表示表面积S。(1 <= S <= 10^9)
Output
一行一个实数,表示体积。
Input示例
8
Output示例
1.504506
这完全是一个初中数学的题目,差点把大学生给坑了(主要是上大学没有动过脑子,不然
以我考上一本的头脑,肯定给秒了,不要鄙视我@_@)
s=PI*r*l+PI*r*r; v=PI*r*r*l/3;这2个方程化简一下
3*v=-PI*r*l*l+s*l; 当l=s/(2*PI*r),v取得最大值,代入s=PI*r*l+PI*r*r
PI*r*r=s/2; 就是那么简单
<span style="font-size:18px;">#include<cstdio>
#include<cmath>
#define PI acos(-1.0)
int main()
{
double s;
while(scanf("%lf",&s)!=EOF)
{
double r,l;
r=sqrt(s/2.0/PI);
l=s/(2.0*PI*r);
double v;
v=1.0*PI*r*r*l/3.0;
printf("%lf\n",v);
}
return 0;
} </span>