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
Author: ZHOU, Yuchen
Source: The 15th Zhejiang University Programming Contest
解题:Q神给的代码。。我不会积分啊,妈蛋
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #include <bits/stdc++.h> 2 using namespace std; 3 const double PI = acos(-1.0); 4 int main(){ 5 int T; 6 scanf("%d",&T); 7 while(T--){ 8 double r,h,d; 9 scanf("%lf%lf%lf",&r,&h,&d); 10 double s = 2*d*r*PI*PI + 2*(r*r+r*h+d*h+2*d*d)*PI; 11 double v = ((6*d*(d*d+r*r)-2*d*d*d)*PI + 3*r*d*d*PI*PI)/3 + (r+d)*(r+d)*h*PI; 12 printf("%.10f %.10f\n",v,s); 13 } 14 return 0; 15 }