HDU 2199 Can you solve this equation? (二分法解方程)
来源:互联网 发布:家装造价师软件 编辑:程序博客网 时间:2024/06/06 12:47
思路:
注意这个方程在给定的范围内是单调递增的。
坑点:
注意double类型不能直接判断 == 判断a和b相不相等要借助eps(精度)写成 if( (a - b) < eps )
#include <iostream>#include <cstdio>#include <string.h>#include <queue>#define eps 0.0000000001typedef long long int lli;using namespace std;double f(double x,double y){ return 8*x*x*x*x + 7*x*x*x + 2*x*x + 3*x + 6 - y;}double func(double y){ double l = 0,r = 100; double mid = (l+r) / 2.0; while(r-l > eps){ mid = (r+l) / 2.0; double temp = f(mid,y); if( temp > eps){ r = mid; } else{ l = mid; } } return r;}int main(){ int t; cin>>t; int y; while(t--){ scanf("%d",&y); if(f(0,y) * f(100,y) > eps){ printf("No solution!\n"); } else{ printf("%.4f\n",func(y)); } }}
1 0
- HDU 2199 Can you solve this equation? (二分法解方程)
- hdu 2199 Can you solve this equation?(二分法)
- HDU-Can you solve this equation? -二分法求高次方程近似解
- HDU 2199 Can you solve this equation?(二分法求近似解)
- 二分法解题--HDU-2199 -- Can you solve this equation?
- hdu 2199 二分法-Can you solve this equation?
- HD 2199 Can you solve this equation?【二分法求方程的解】
- HDU-2199 A - Can you solve this equation(解方程)
- 【二分解方程】hdu 2199 Can you solve this equation?
- Can you solve this equation? (二分法)
- HDU 2199 Can you solve this equation? && NYOJ 503 解方程
- HDU 2199 Can you solve this equation? 二分求方程解
- hdu 2199 Can you solve this equation?(二分查找方程的根)
- hdu 2199 Can you solve this equation?
- hdu 2199 Can you solve this equation?
- hdu 2199 Can you solve this equation?
- HDU 2199 Can you solve this equation?
- hdu 2199 Can you solve this equation?
- 超简易,极基础,巨详细的SSM(Spring +Springmvc+Mybatis)框架整合搭建2.0版
- Android 系统服务管家servicemanager启动过程详解
- 使用MAT工具分析性能
- 分治——最小点对(HDU 1007)
- .NET编程语言基础题一
- HDU 2199 Can you solve this equation? (二分法解方程)
- IIS\WCF\.Net Framework 安装顺序
- 怎样在 CentOS 7.0 上安装和配置 VNC 服务器
- 全局变量传输数据
- mvc:view-controller在不使用controller时为请求返回视图
- MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
- POI合并单元格边框显示问题,笨方法解决。如有更好的方法,欢迎留言,求指教告知
- Excel用VBA传数据到服务器
- 关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示