您的位置:首页 > 其它

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度,问你盒子里剩余牛奶的体积?



分析:

直接自己手动在纸上画图求出当前平面的面积,再乘以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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: