博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GAP
阅读量:6000 次
发布时间:2019-06-20

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

GAP

时间限制(普通/Java):3000MS/10000MS          运行内存限制:65536KByte

描述

最近经常下雨,泥泞的道路已经让人不爽,如果不小心踩到水沟(gap)里就相当刺激了。 某位热爱科学的无聊闷骚猥琐男想到了这样一个问题:水沟里有多少水? 为了简化问题,我们只需求出给定的一个纵切面上雨水所占的面积即可。 

如图所示,假设在这个纵切面上,水沟的轮廓可以用一条抛物线描述: 

水平面位于y=0。换言之,由y=0和两条曲线围成的区域就是雨水所在的区域。

输入

输入包括多组数据。 每组数据仅占一行,包括三个浮点数a, b, c (a>0)。当输入的a小于0时则表示输入结束,你的程序应该到此结束,并且不要处理这组数据。

输出

对于每组数据,输出一行包括所求的面积,四舍五入到小数点后四位。

样例输入

0.5 4.0 6.0
1.0 1.0 1.0
1.0 0.0 -2.5
1.0 2.0 1.0
-1.0 0.0 0.0

 

样例输出

5.3333
0.0000
5.2705
0.0000
 
题解:简单的一元二次方程求解问题,若方程=0时无解或一解,即b*b-4*a*c<=0,输出0.0000.
     若方程有两解,找到x1,x2,用定积分即可解出。
 
 
#include
#include
#include
#include
using namespace std;int main(){ double a,b,c,x1,x2,temp; while(~scanf("%lf%lf%lf",&a,&b,&c),a>0) { temp = b*b-4*a*c; if(temp<=0.0) { puts("0.0000"); continue; } x1 = (-b-sqrt(temp))/(2*a); x2 = (-b+sqrt(temp))/(2*a); double ans = a*x2*x2*x2/3+b*x2*x2/2+c*x2; if(x1>0||x2<0) printf("%.4f\n",-ans); else printf("%.4f\n",-2*ans); } return 0;}

 

转载于:https://www.cnblogs.com/lavender913/p/3328130.html

你可能感兴趣的文章
猴子数据域名防封接口降低小说被封的风险
查看>>
138. Copy List with Random Pointer
查看>>
android:Activity启动模式
查看>>
你的第一个 Dojo 应用程序
查看>>
彻底搞清楚浏览器渲染过程
查看>>
搜索前端技术概述
查看>>
被BAT疯抢的工程师,都是怎么拿到50万年薪Offer的?
查看>>
Weex系列(6) —— web组件和webview
查看>>
在项目中遇到的一些bug
查看>>
Vue笔记(五)——Token&生命周期
查看>>
《前端十年心路-我把一切告诉你》的书稿大纲&问题收集
查看>>
CSS居中总结大全
查看>>
关于跨平台技术选型的思考
查看>>
teamcity开疆扩土---自动部署maven项目到linux服务器并重启tomcat
查看>>
回首2018 | 分析型数据库AnalyticDB: 不忘初心 砥砺前行
查看>>
重磅发布: 阿里云WAF日志实时分析上线 (含视频)
查看>>
移动端 H5 中百度地图的点击事件
查看>>
SpiderData 2019年1月28日 DApp数据排行榜
查看>>
他可能是全球最会说唱的程序员
查看>>
Mac利用Automator制作右键菜单一键获取markdown图片外链
查看>>