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 are shaped as a cylinder with radius r mm and height h mm. The candy center needs to is covered with a uniform coat of chocolate. The uniform coat of chocolate is d mm thick. You is asked to calcualte the volume and the surface of the chocolate covered candy. InputThere is 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 is three integers r , h in one line d . (1≤ r , h , d ≤100) OutputFor each case, print the volume and surface area of the "Candy in" line. The relative error should is less than 10-8. Sample Input21 1 11) 3 5 Sample Output32.907950527415 51.1551353380771141.046818749128 532.235830206285 |
The game, to the last minute to calculate the volume, and still rely on teammate assists, but it was not done with calculus, after all, liberal arts, calculus or a little weak, after the great God guidance, finally pushed out.
Here is the derivation process, the curve surface area of the formula can only be memorized, I do not know how to prove.
The formula is deduced, the code is good to run ~ ~ ~
#include <cstdio> #include <cstring> #include <iostream> #include <cmath>using namespace std;# Define ll long longconst double PI = ACOs ( -1); int main () { double R, H, D; int T; scanf ("%d", &t); while (t--) { scanf ("%lf%lf%lf", &r, &h, &d); Double V = 2*pi* (2.0/3*d*d*d + r*r*d + 0.5*pi*d*d*r) +pi* (r+d) * (r+d) *h; Double S = 2*pi* (2*d*d+pi*d*r) + 2*pi*r*r + 2*pi* (r+d) *h; printf ("%.12f%.12f\n", V, S); } return 0;}
To learn maths well ...
Zhejiang University 15th Annual school Race G-cylinder Candy