Cylinder Candy(积分+旋转体)

Cylinder Candy

Time Limit: 2 Seconds  Memory Limit: 65536 KB  Special Judge

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 mm.

The candy center needs to be covered with a uniform coat of chocolate. The uniform coat of chocolate is dmm thick.

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 ≤ 100)

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



经过这几天的思考,以及各种抓狂,我只能说数学老师就是牛,一语点了醒我!
好纠结,,,难道以后要背着高数跑。。。



这是我最初的想法,然后经过求证,体积并不要减去里面的圆柱;
Cylinder Candy(积分+旋转体)_第1张图片

过程已经写得很详尽了。。。

转载请注明出处:
寻找&星空の孩子 

题目链接:http://acm.zju.edu.cn/onlinejudge/contestInfo.do?contestId=361
 
 
 
 
#include<stdio.h>
#include<math.h>
#define PI acos(-1.0)
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        double r,h,d;
        double v,s;
        scanf("%lf%lf%lf",&r,&h,&d);
        v=PI*PI*r*d*d+4.0/3*PI*d*d*d+2*PI*r*r*d+PI*h*((d+r)*(d+r));
        s=2*(PI*PI*r*d+2*PI*d*d+PI*r*r+PI*h*(r+d));
        printf("%.12lf %.12lf\n",v,s);

    }
    return 0;
}

 

你可能感兴趣的:(数学,积分)