当前位置:首页 > 题解目录 > 正文内容

【题解】东哥的杯子

亿万年的星光4年前 (2022-03-26)题解目录7639

【题目描述】

话说在一场牛客练习赛中,东哥力压群雄,挣得第一,牛客为了奖励东哥的发挥,送他一个马克杯。奖励的马克杯是一个标准的

圆台形状,它的上底为R1,下底为R2,高为H, 东哥向杯子里倒V毫升的水,你知道倒完水后,杯子里的水位有多高吗?

【输入描述】

多组数据

每组数据只有一行,为R1(1<=R1<=10,000),R2(1<=R2<=100,000), H(1<=H<=100,000),V(1<=V<=1000,000,000)。

【输出描述】

输出倒完水后的杯子的水位高,结果保留三位小数

【样例输入】

10 100 10 1000
1 1 1 10

【样例输出】

1.250
1.000

【公式】

圆台体积公式


r为上底半径、R为下底半径、h为高。


【题目分析】



【参考答案】

#include<bits/stdc++.h>
using namespace std;
const double EPS=1e-9;
const double pi=acos(-1.0);//得到π的值
double r1,r2,h,v;
bool check (double x)
{
    double R=1.0*r1+(r2-r1)*x/h;
    return 1.0/3*pi*x*(r1*r1+R*R+r1*R)<v;
}
int main()
{
    while(cin>>r1>>r2>>h>>v)
    {
        double V=1.0/3*pi*h*(r1*r1+r2*r2+r1*r2);
        if(v>=V)
        {
            printf("%.3lf\n",h);
            continue;
        }
        double l=0,r=100*1.0,mid;
        while(r-l>EPS)
        {
            mid=(l+r)/2.0;
            if(check(mid))
                l=mid+EPS;
            else r=mid-EPS;
        }
        printf("%.3lf\n",(l+r)/2.0);
    }
    return 0;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    标签: 二分
    分享给朋友:

    相关文章

    八皇后问题

    八皇后问题

    【题目描述】八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行...

    【题解】怪盗基德的滑翔翼

    【题解】怪盗基德的滑翔翼

    【题目描述】怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗...

    【算法】最少步数

    【算法】最少步数

    【题目描述】在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知...

    【题解】循环比赛日程表

    【题解】循环比赛日程表

    【题目描述】设有N个选手进行循环比赛,其中N=2M,要求每名选手要与其他N-1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N-1天,要求每天没有选手轮空。【输入描述】输入:M。【输出描述】输出:...

    【题解】钟神赛车

    【题目描述】钟神近来编码劳累,想骑车风光一番,于是找某君骑自行车比赛。已知某君和钟神的每辆自行车的速度,钟神赢一场得50银两银子,输一场赔50银两,平局不挣也不赔。钟神可以随意安排高中低档自行车的出场...

    【题解】金银岛

    题目描述某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种...