题意
chomp - chew noisily
beaver - 可可爱爱海狸/水獭
frustums - 圆锥台
cone - 圆锥
diameter - 直径
cylinder - 圆柱体
输入D-树的直径,V-海狸啃掉的部分的体积
求d-中间圆柱体的直径
以0 0
结束输入
思路
整个D为直径的大圆柱体积 = 海狸啃掉的部分体积 + 两个圆锥台的体积 + 中间d为直径的小圆柱的体积
即 pi×D3 /4 = V + pi×(D-d)×(D2﹢D×d﹢d2)/12 + pi*d3/4
化简得 V = 1/6 × pi × (D3 - d3)
移项得 d = (D3 - 6×V/pi)1/3
笔记
- π的表示:
pi = acos(-1)
不能直接用3.14 - 圆台体积: V = pi×h×(R2﹢R×r﹢r2)/3 = pi×h×(D2﹢D×d﹢d2)/12
- 圆柱体积: V = pi×h×R2 = pi×h×D2/4
double sqrt(double x);
double pow(double x,double n);
代码
#include<cstdio>
#include<cmath>
using namespace std;
double pi = acos(-1);
int main(){
double D, V, d;
scanf("%lf %lf", &D, &V);
while(D!=0 && V!=0){
d = pow(pow(D, 3.0) - 6*V/pi, 1.0/3);
printf("%.3f\n", d);
scanf("%lf %lf", &D, &V);
}
return 0;
}