zoj 3866 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 d mm 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

参考博客:http://blog.csdn.net/u010579068/article/details/45081585

思路:旋转体积分和面积。

#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
#define PI M_PI
int main()
{
    int T;
    double r,h,d,v,s;
    scanf("%d",&T);
    while(T--){
        scanf("%lf%lf%lf",&r,&h,&d);
        v=h*PI*(r+d)*(r+d)+PI*r*r*d*2+2*2*PI*(1.0/3*d*d*d+d*d/4*PI*r);
        s=2*(PI*r*r+PI*(r+d)*h+2*PI*d*d+PI*PI*r*d);
        printf("%.12f %.12f\n",v,s);
    }
    return 0;
}

你可能感兴趣的:(zoj 3866 Cylinder Candy)