zoukankan      html  css  js  c++  java
  • 二分搜索 HDOJ 2289 Cup

    题目传送门

     1 /*
     2     二分搜索:枚举高度,计算体积与给出的比较。 
     3 */
     4 #include <cstdio>
     5 #include <algorithm>
     6 #include <cstring>
     7 #include <cmath>
     8 using namespace std;
     9 
    10 const int MAXN = 1e3 + 10;
    11 const int INF = 0x3f3f3f3f;
    12 const double EPS = 1e-8;
    13 const double PI = acos (-1.0);
    14 double r, R, H, V;
    15 double x;
    16 
    17 double cal(double h1)    {
    18     double u = r + (R - r) * h1 / H;        //上底
    19     double V1 = PI / 3.0 * h1 * (r * r + r * u + u * u);    //圆台计算公式
    20     return V1;
    21 }
    22 
    23 int main(void)  {       //HDOJ 2289 Cup
    24     //freopen ("HDOJ_2289.in", "r", stdin);
    25 
    26     int T;  scanf ("%d", &T);
    27     while (T--) {
    28         scanf ("%lf%lf%lf%lf", &r, &R, &H, &V);
    29         double mid;
    30         double low = 0, upp = H;
    31         while (upp - low > EPS)  {
    32             mid = (low + upp) / 2;
    33             if (cal (mid) - V > EPS)    upp = mid;
    34             else low = mid;
    35         }
    36         printf ("%.6f
    ", mid);
    37     }
    38 
    39     return 0;
    40 }
    编译人生,运行世界!
  • 相关阅读:
    leetcode59
    leetcode95
    leetcode96
    leetcode787
    leetcode150
    leetcode165
    leetcode739
    快速搭建:Djangorest-framework的restful项目
    编写部署用到的部分shell脚本收集
    pandas:dataframe删除某些不为non的行
  • 原文地址:https://www.cnblogs.com/Running-Time/p/4676344.html
Copyright © 2011-2022 走看看