1629 B君的圆锥

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Rem_little_fan_boy/article/details/83042588

1629 B君的圆锥 

基准时间限制: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^2;    体积公式 V=1/3*PI*R^2*H;
其中 R代表底面半径,L代表母线长度,H代表圆锥的高;
其中 H=sqrt(L^2-R^2);
L=(S-PI*R^2)/(PI*R);
则将其代入体积公式得到:V=1/3*sqrt(R^2(S^2-2*PI*R^2*S));
设t=R^2; 则 V=1/3*sqrt(t*(S^2-2*PI*S*t)) =1/3*sqrt(S^2*t-2*PI*S*t^2);
则当 t=S^3/(8*PI)时取得最大值,最大值为S*sqrt(S/(72*PI));

代码:

import java.util.Scanner;
public class Demo{
	public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int S = sc.nextInt();
	double V = S*Math.sqrt(S/(72*Math.PI));
	System.out.println(V);
	}
}

猜你喜欢

转载自blog.csdn.net/Rem_little_fan_boy/article/details/83042588