3866 - Cylinder Candy
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu
Submit
Status
Practice
ZOJ 3866
Description
Edward the confectioner is making a new batch of chocolate covered candy. Each candy center is shaped as a cylinder with radius r mm and height h
The candy center needs to be covered with a uniform coat of chocolate. The uniform coat of chocolate is d
You are asked to calcualte the volume and the surface of the chocolate covered candy.
Input
There are multiple test cases. The first line of input contains an integer T(1≤ T≤ 1000) indicating the number of test cases. For each test case:
There are three integers r, h, d in one line. (1≤ r, h, d
Output
For each case, print the volume and surface area of the candy in one line. The relative error should be less than 10-8.
Sample Input
2
1 1 1
1 3 5
Sample Output
32.907950527415 51.155135338077
1141.046818749128 532.235830206285
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
题意:用巧克力包裹一个圆柱形状的糖果,要求包裹的厚度为d,即包裹后外层距离糖果距离都是d。
给出糖果的高度,底面的半径,与d。
求包裹之后的体积和表面积。
只要你的高数不错,这道题做起来就很简单了,所以……
我被卡在了根号下(a^2-x^2)的原函数这一步了,o(╯□╰)o、用了两个小时,最终终于算出来了,数学题目,一次AC!
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <string>
#include <cstring>
#include <map>
#include <set>
#include <vector>
#include <stack>
#include <queue>
#include <iomanip>
#include <algorithm>
#include <memory.h>
#define PI acos(-1)
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0; i<n; i++)
{
double r,h,d;
cin>>r>>h>>d;
double v,s;
v=2.0*PI*(d*d*r*PI/2.0+2.0/3.0*d*d*d+r*r*d)+(r+d)*(r+d)*h*PI;
s=2.0*PI*(2*d*d+PI*r*d)+2*PI*r*r+2*PI*(r+d)*h;
printf("%.12lf %.12lf\n",v,s);
}
return 0;
}