G - Cylinder Candy ZOJ - 3866

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

附上旋转体的侧面积和体积求法:

扫描二维码关注公众号,回复: 172947 查看本文章


#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const double pi=acos(-1.0);



int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		double r,h,d;
		scanf("%lf %lf %lf",&r,&h,&d);
		double ans_v=2.0*pi*d*(r*r+d*d)-2.0/3.0*pi*d*d*d+pi*pi*r*d*d+pi*(r+d)*(r+d)*h;
		double ans_s=2.0*pi*d*(2.0*d+pi*r)+pi*r*r*2.0+2.0*pi*(r+d)*h;
		printf("%.10f %.10f\n",ans_v,ans_s);
	} 
	return 0;
}


猜你喜欢

转载自blog.csdn.net/qq_36424540/article/details/80139693
ZOJ