51nod B君的圆锥(数学)
题目链接:
基准时间限制:1 秒 空间限制:131072 KB
B君要用一个表面积为S的圆锥将白山云包起来。
B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。
注意圆锥的表面积包括底面和侧面。
Input
一行一个整数,表示表面积S。(1 <= S <= 10^9)
Output
一行一个实数,表示体积。
Input示例
8
Output示例
1.504506
题意:
思路:
找打圆锥体积与表面积的关系,再找出体积的最大值就好了,可以发现当圆锥的底面积PI*r^2=S/4,时可以使体积取到最大值;
AC代码:
//#include <bits/stdc++.h> #include <iostream> #include <queue> #include <cmath> #include <map> #include <cstring> #include <algorithm> #include <cstdio> using namespace std; #define Riep(n) for(int i=1;i<=n;i++) #define Riop(n) for(int i=0;i<n;i++) #define Rjep(n) for(int j=1;j<=n;j++) #define Rjop(n) for(int j=0;j<n;j++) #define mst(ss,b) memset(ss,b,sizeof(ss)); typedef long long LL; const LL mod=1e9+7; const double PI=acos(-1.0); const int inf=0x3f3f3f3f; const int N=1e5+25; int main() { double s; while(scanf("%lf",&s)!=EOF) { printf("%.6lf\n",s*sqrt(s/(8*PI))/3); } return 0; }