51nod1269 B君的圆锥

基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
 收藏
 关注
B君要用一个表面积为S的圆锥将白山云包起来。
 
B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。
 
注意圆锥的表面积包括底面和侧面。
Input
一行一个整数,表示表面积S。(1 <= S <= 10^9)
Output
一行一个实数,表示体积。
Input示例
8
Output示例
1.504506
wwwwodddd (题目提供者)
拿到这道题的第一想法就是写出面积体积关系,然后再找关系。
大神们说这道题的标准做法是用三分法~可以作为渣渣的我并不会----以后学了再来补上。
不过群巨给了另一种数学建模的思想:
     要达成面积/体积最佳比,则模型样式是一致的~可以按比例缩放的~以放大2倍为例:
     R=r*2
   S=S底+S侧=2^2*s底+2^2*s底=2^2s
   V=1/3*S底*H=1/3*2^2s底*2*h=2^3v
简直奇妙~~又让渣渣我学到一招
 
#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
double pow(double n){
    return sqrt(n*n*n);
}
int main(){
    int s;
    while(~scanf("%d",&s)){
        double v;
        v = (double)1.504506*pow(s/8.0);
        printf("%lf
",v);
    }
}

  

原文地址:https://www.cnblogs.com/OMG-By/p/5533736.html