UVA 11909 Soya Milk(简单数学三角函数计算)
2014-09-25 12:15
295 查看
UVA 11909 Soya Milk(简单数学三角函数计算)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=229&page=show_problem&problem=3060
题意:
有一个高h,长l,宽w的盒装牛奶.现在把它如图倾斜rad度,问你盒子里剩余牛奶的体积?
![](http://img.blog.csdn.net/20140925121421140?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQ4MDYwMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
分析:
直接自己手动在纸上画图求出当前平面的面积,再乘以w就是所求的体积.
注意:
随着rad角度的增大,当前图形会由梯形变成一个三角形.所以需要分情况计算.
AC代码:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=229&page=show_problem&problem=3060
题意:
有一个高h,长l,宽w的盒装牛奶.现在把它如图倾斜rad度,问你盒子里剩余牛奶的体积?
分析:
直接自己手动在纸上画图求出当前平面的面积,再乘以w就是所求的体积.
注意:
随着rad角度的增大,当前图形会由梯形变成一个三角形.所以需要分情况计算.
AC代码:
#include<cstdio> #include<cmath> using namespace std; const double PI=acos(-1); int main() { double l,w,h,rad; while(scanf("%lf%lf%lf%lf",&l,&w,&h,&rad)==4) { rad=rad/180*PI; double ang=atan(h/l); double ans; if(rad<=ang) ans=(2*h-l*tan(rad))/2*w*l; else ans=h*w/2*h/tan(rad); printf("%.3lf mL\n",ans); } return 0; }
相关文章推荐
- UVA 11401-Triangle Counting-简单数学计算
- 查找""排序""简单数学计算" "简单算法"[Java实现](数据结构和算法)(复习)(持续更新
- UVA 10014 简单计算
- POJ 1264 UVA 109 简单的计算几何
- UVA 12712 Pattern Locker(简单排列组合数学题)
- UVa 10014 简单的计算
- 一个计算简单数学表达式值的算法。
- UVa 10780 - How do you add? (简单DP 组合数学 隔板法)
- UVA 152 Tree's a Crowd (简单计算)
- UVA 537(简单计算)
- UVA 10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes? 简单数学题
- Uva 10112 【简单的计算几何】.cpp
- uva 10161 Ant on a Chessboard 蛇形矩阵 简单数学题
- uva 10161 Ant on a Chessboard 蛇形矩阵 简单数学题
- UVa 10161 Ant on a Chessboard (简单数学)
- UVA10014-简单计算
- UVA442 Matrix Chain Multiplication 矩阵运算量计算(栈的简单应用)
- UVA 10652 - Board Wrapping 简单计算几何 凸包
- uva - 11636 - Hello World!(简单数学)
- UVA 10790 How Many Points of Intersection? 简单数学题