码迷,mamicode.com
首页 > 其他好文 > 详细

1629 B君的圆锥

时间:2017-11-18 22:31:16      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:its   sqrt   c++   tput   names   pre   ++   包括   注意   

B君要用一个表面积为S的圆锥将白山云包起来。

 
B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。
 
注意圆锥的表面积包括底面和侧面。
Input
一行一个整数,表示表面积S。(1 <= S <= 10^9)
Output
一行一个实数,表示体积。
Input示例
8
Output示例
1.504506
/*
    推公式 
        设圆锥底面半径为r ,高为h,则母线为 sqrt(r*r+h*h);
           进而得到面积公式
            S=pi*l*r+pi*r*r
        由这个方程可以解出r*r和h的关系
        带入体积公式
            pi*r*r*h/3 得到公式

            h*S*S/(3*h*h+6*S);
           =S*S/(3*pi*h+6*S/h)
           这是个对角函数 在h取 sqrt(2*pi*S)的时候取最大值
           带入得到
               s*s/(6*sqrt(2*pi*S))    
 */
#include <bits/stdc++.h>

#define pi acos(-1)

using namespace std;

double s;

int main(){
    scanf("%lf",&s);
    printf("%.6lf\n",s*s/(6*sqrt(2*pi*s)));        
    return 0;
}

 

1629 B君的圆锥

标签:its   sqrt   c++   tput   names   pre   ++   包括   注意   

原文地址:http://www.cnblogs.com/wuwangchuxin0924/p/7858119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!