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.1551353380771141.046818749128 532.235830206285
积分。。。。。。。。。。。。。。。。。。。。。。。。。。=。=
#include <iostream> #include <vector> #include <map> #include <set> #include <queue> #include <stack> #include <algorithm> #include <cstdio> #include <cstdlib> #include <string> #include <cstring> #include <cmath> #include <ctime> using namespace std; #define ll long long #define PI 3.1415926535898 #define clr(s,x) memset(s,x,sizeof(s)) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 int main(){ int T; scanf("%d",&T); while(T--){ double r,h,d; scanf("%lf%lf%lf",&r,&h,&d); double s = 2*d*r*PI*PI + 2*(r*r+r*h+d*h+2*d*d)*PI; 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; printf("%.10f %.10f\n",v,s); } return 0; }