light oj 1216 - Juice in the Glass (几何计算)
来源:互联网 发布:破解app软件网站 编辑:程序博客网 时间:2024/05/22 06:27
Once upon a time, there lived a mad programmer. He loved to solve creative problems other than anything. His wife loved him quite a lot but disliked his curiosity for the problems. One day he came from office, his wife gave him a glass of cold lime juice. She was in a romantic mood and waiting for some romantic stuff. But the programmer asked her curiously, "If I give u radius of the top and bottom part of the glass and the height, can you come up with the volume of the glass?" His wife became a bit disappointed but as she is smart she replied with a smile, "You already have drunk some juice, and the glass is not full. If I give you the height of the juice, can you find the volume of the remaining juice in the glass?" Then the programmer kissed his wife and said, "You are the best problem setter in the world!"
Now he set the same problem for you. The radius of the upper part r1 and lower part r2 is given. If height of the glass is h and height of the juice is p what is the volume of the juice in the glass?
Input
Input starts with an integer T (≤ 100), denoting the number of test cases.
Each case starts with a line containing four integers r1 r2 h p (1 ≤ r2 < r1 ≤ 100, 1 ≤ p ≤ h ≤ 100).
Output
For each case, print the case number and the volume of the juice in the glass. Errors less than 10-6 will be ignored.
Sample Input
Output for Sample Input
2
5 2 3 2
5 2 3 3
Case 1: 58.643062867
Case 2: 122.52211349
解:求图中盛有水的部分的面积,设中间水平面圆的半径为r , p/h=(r-r1)/(r1-r2)
圆台体积公式:v=(1.0/3)*H*(s1+s2+sqrt(s1*s2)//s1,s2分别是上下底面的面积
代码:
#include <iostream>#include <cstdio>#include <cmath>#define PI acos(-1)using namespace std;int main(){ int t,k=1; double r1,r2,r,h,p; double s1,s2,v; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf%lf",&r1,&r2,&h,&p); r=(r1-r2)*(p/h)+r2; //三角形相似 s1=PI*r*r; s2=PI*r2*r2; v=(1.0/3)*p*(s1+s2+sqrt(s1*s2));//注意三分之一要写成1.0,不然结果就是0了 printf("Case %d: %.7lf\n",k++,v); } return 0;}
- light oj 1216 - Juice in the Glass (几何计算)
- Lightoj1216——Juice in the Glass (计算几何)
- LightOJ 1216 Juice in the Glass
- uestc oj Justice is Given by Light(计算几何)
- light oj 1043 - Triangle Partitioning【简单计算几何】
- light oj 1211 - Intersection of Cubes (计算几何)
- Light oj 1433 - Minimum Arc Distance【计算几何(坑精度!)】
- hrbust 哈理工oj 1729 Finding the Way【计算几何】
- Light OJ 1385 Kingdom Division(几何)
- 【Light-oj】-Expanding Rods(二分&几何)
- Ural-1084. Goat in the Garden(计算几何)
- Ural 1084|Goat in the Gardon|计算几何
- 【计算几何】ZOJ 2976 Light Bulbs
- zoj 3203 Light Bulb(计算几何)
- HDU-2857-Mirror and Light(计算几何)
- ZOJ 3203 Light Bulb (三分+计算几何)
- HDU 2857 Mirror and Light [计算几何]
- Light oj 1331 - Agent J【计算】
- 教师、商人、昆虫学家(心在哪里)
- HDU 5875 N^2能过的大水题,可用单调栈,离线处理优化
- C语言编程规范总结
- Go语言基础:深入理解 struct 内嵌 inteface
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
- light oj 1216 - Juice in the Glass (几何计算)
- Android防止内存溢出浅析
- Makefile详解
- 十进制数转换为二进制时1的个数
- zepto 的使用
- LeetCode 315 Count of Smaller Numbers After Self(树状数组)
- touchjs
- LevelDb日知录
- canvas绘图 globalCompositeOperation 各种叠加效果图