HDU 2199(二分求方程解)
2015-07-23 17:05
357 查看
关键是确定解的范围以及二分时的判断依据
这里解的范围已经确定,因为是递增函数,二分依据就是和Y的大小比较
这里解的范围已经确定,因为是递增函数,二分依据就是和Y的大小比较
#include"cstdio" #include"cstring" #include"algorithm" #include"cmath" #define MAXN 505 using namespace std; double cal(double x) { double temp=8.0*pow(x,4)+7.0*pow(x,3)+2.0*pow(x,2)+3.0*x+6.0; return temp; } int main() { int T; scanf("%d",&T); while(T--) { double ans,y; scanf("%lf",&y); double low=0.0,high=100.0,mid; int ok=1; if(y>cal(high)||y<cal(low)) ok=0; while(ok&&fabs(high-low)>1e-8) { mid=low+(high-low)/2.0; if(cal(mid)<y) low=mid; else high=mid; } if(!ok) printf("No solution!\n"); else printf("%.4lf\n",mid); } return 0; }
相关文章推荐
- 详解C++中的引用
- 禁用树莓派的xWindows休眠
- [leetcode] 226.Invert Binary Tree
- 浅析Objective-C中的Protocol协议
- 如何在CentOS6.5下编译64位的Hadoop2.x?
- C++简单选择排序
- 杭电2072 单词数
- 使用第三方工具连接linux CentOS 6.5 7,如Xshell连接linux虚拟机很慢
- 声明式事务管理
- Matlab以MEX方式调用C源代码【转载】
- git恢复被修改的文件
- 几个强大的linux命令和命令解析函数getopt()
- shell脚本---web监控脚本系列
- HDU_2553_N皇后问题
- 女程序员之路
- 【mysql】数据库经典快速小操作
- poll
- jsfl调整笔刷的笔触和颜色
- 一颗合格的螺丝钉——程序员漫谈(一)
- linux timezone