题目链接:点击打开链接
基准时间限制:1 秒 空间限制:131072 KB 分值: 10
难度:2级算法题
B君要用一个表面积为S的圆锥将白山云包起来。
B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。
注意圆锥的表面积包括底面和侧面。
Input
一行一个整数,表示表面积S。(1 <= S <= 10^9)
Output
一行一个实数,表示体积。
Input示例
8
Output示例
1.504506
写一下证明吧:
代码如下:
#include <cstdio>
#include <stack>
#include <queue>
#include <cmath>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
#define CLR(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
#define LL long long
#define PI acos(-1.0)
int main()
{
double S;
scanf ("%lf",&S);
double rr;
rr = S / (4.0 * PI);
double V;
V = sqrt(S*S*rr - 2*S*PI*rr*rr) / 3.0;
printf ("%lf\n",V);
return 0;
}