[ACM] [算法基础] POJ 4140 方程求解(二分查找)
2018-04-03 20:17
453 查看
https://vjudge.net/problem/OpenJ_Bailian-4140
f(0)=-80<0,f(10)=520>0,[0,10]之间必有一根。
描述
求下面方程的根:f(x) = x3- 5x2+ 10x - 80 = 0。输出
精确到小数点后9位。解法
求导f’(x)=3x^2-10x+10,f’(x)=0无解,f’(x)恒大于零。f(x)单调递增。f(x) 单调递增。f(0)=-80<0,f(10)=520>0,[0,10]之间必有一根。
代码
#include <iostream> #include <cmath> #include <stdio.h> #define f(x) (x*x*x-5*x*x+10*x-80) #define EPS 1e-10 using namespace std; //f(x) = x^3- 5x^2+ 10x - 80 = 0 //f'(x)= 3x^2-10x+10 double binarySearch(double L,double R) { double mid; while(R-L>EPS) { mid=L+(R-L)/2; if(f(mid)<0) L=mid; else R=mid; } return mid; } int main() { printf("%.9f\n",binarySearch(0.0,10.0)); return 0; }
相关文章推荐
- [ACM] [算法基础] POJ 2503 在线翻译Babelfish(二分查找 字符串)
- 数据结构&算法(二)_算法基础之前传(递归、时间复杂度、空间复杂度、二分查找)
- 【算法基础】二分查找
- POJ 2289--Jamie's Contact Groups【二分图多重匹配问题 &&二分查找最大值的最小化 && 最大流求解】
- 基础算法5——二分查找
- 基础算法 二分查找
- 基础算法 - 二分查找 / 二分答案入门
- ACM算法入门——二分查找
- php 基础算法之 二分查找
- poj 1840 Eqs 【解五元方程+分治+枚举打表+二分查找所有key 】
- 基础算法-二分查找
- poj 3041 二分匹配 基础题(整理版:基础知识)匈牙利算法
- 算法基础之python实现贪心算法中圣诞老人分糖果问题和二分查找算法中烘干衣服问题
- 山东省第六届ACM省赛题——BIGZHUGOD and His Friends II(塞瓦定理,二分求解方程)
- [ACM] POJ 2115 C Looooops (扩展欧几里得求解模线性方程)
- 一步一步复习数据结构和算法基础-顺序查找+二分查找
- 二分查找--基础算法
- 基础算法学习(01)-二分查找
- Java基础复习 查找算法之二分法
- 二分算法——求解方程的根