Cylinder Candy
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://acm.zju.edu.cn/onlinejudge/contestInfo.do?contestId=361
1 #include<stdio.h> 2 #include<math.h> 3 #define PI acos(-1.0) 4 int main() 5 { 6 int T; 7 scanf("%d",&T); 8 while(T--) 9 { 10 double r,h,d; 11 double v,s; 12 scanf("%lf%lf%lf",&r,&h,&d); 13 v=PI*PI*r*d*d+4.0/3*PI*d*d*d+2*PI*r*r*d+PI*h*((d+r)*(d+r)); 14 s=2*(PI*PI*r*d+2*PI*d*d+PI*r*r+PI*h*(r+d)); 15 printf("%.12lf %.12lf ",v,s); 16 17 } 18 return 0; 19 }