Cup-hd2289·
发布日期:2022-02-08 04:20:46 浏览次数:3 分类:技术文章

本文共 830 字,大约阅读时间需要 2 分钟。

 
 
题意:给出圆台的底面半径,顶部半径,高还有水的体积,求水的高度
思路:我们可以直到水的高度必然在0到最大高度之间,在这个区间内进行二分即可
 
圆台体积公式
  • formula
公式描述:
公式中r为上底半径、R为下底半径、h为高。
发现如果直接使用公式进行就计算,不能通过,无语,只能使用二分了
#include 
#include
#include
#include
using namespace std;#define PI acos(-1.0)#define exp 1e-9double solve(double r,double R,double h,double H){ double u = h/H*(R-r) + r; return PI/3*(r*r+r*u+u*u)*h;}int main(){ int t; double r,R,H,V,mid,vv,f,l; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf%lf",&r,&R,&H,&V); f=0; l=100; while(l-f>exp) { mid=(l+f)/2; vv=solve(r,R,mid,H); if(fabs(vv-V)<=exp) break; else if(vv>V) l=mid-exp; else f=mid+exp; } printf("%.6lf\n",mid); } return 0;}

转载地址:https://blog.csdn.net/weixin_38960774/article/details/79391477 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:HDU 2446 Shell Pyramid(二分查找 )
下一篇:Can you find it?2446 csdn直达http://blog.csdn.net/jingttkx/article/details/51302721

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月15日 18时04分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章