BNU 3856
水题:给出圆锥的表面积(包括底面),求最大的体积
把公式写出了,面积转换成对于 r 的函数,求导发现是先增后减,然后求出最大体积对应的 r 值就好了
注意输出只能用 float 0.0
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
using namespace std;
const double pi = acos(-1.0);
double n, r, h, v, tempr, temph, tempv;
double sqr(double x) {
return x*x;
}
int main() {
while (scanf("%lf", &n)==1) {
r = sqrt(n/4/pi);
h = sqrt(n*n/pi/pi/r/r-2*n/pi);
v = pi*r*r*h/3.0;
printf("%.2f\n%.2f\n%.2f\n", (float)v, (float)h, (float)r);
}
return 0;
}