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度,问你盒子里剩余牛奶的体积?
分析:
直接自己手动在纸上画图求出当前平面的面积,再乘以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; }